I notice that Linux 4.18 has the following changeset which changes the user visible perf_event.h file
commit 6cbc304f2f360f25cc8607817239d6f4a2fd3dc5 Author: Peter Zijlstra <pet...@infradead.org> 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