[perf] perf_event.h ABI visibility question

From: Vince Weaver
Date: Thu Aug 23 2018 - 14:25:12 EST



I notice that Linux 4.18 has the following changeset which changes the
user visible perf_event.h file

commit 6cbc304f2f360f25cc8607817239d6f4a2fd3dc5
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Thu May 10 15:48:41 2018 +0200

perf/x86/intel: Fix unwind errors from PEBS entries (mk-II)

which contains

--- a/include/uapi/linux/perf_event.h
+++ b/include/uapi/linux/perf_event.h
@@ -143,6 +143,8 @@ enum perf_event_sample_format {
PERF_SAMPLE_PHYS_ADDR = 1U << 19,

PERF_SAMPLE_MAX = 1U << 20, /* non-ABI */
+
+ __PERF_SAMPLE_CALLCHAIN_EARLY = 1ULL << 63,
};


Is this supposed to be a user-visible interface?

I realize that if the user tries to set anything above PERF_SAMPLE_MAX
it will be caught and flagged as EINVAL.

However even with the double-underscore hint in
__PERF_SAMPLE_CALLCHAIN_EARLY the value is still in the user-visible
header so it's now part of the ABI and I guess the manpage has to document it.

Vince