On Wed, 18 Sep 2013, Peter Zijlstra wrote: > On Wed, Sep 18, 2013 at 10:19:32AM -0400, Vince Weaver wrote: > > Can you point to any code that is fixed by the commit? > > I have some, but I don't think a lot of people use it. > > Would you be ok with something like the below? It should preserve > functionality for code that only cares about cap_usr_rdpmc (PAPI). > > Stephane, does libpfm use any of these? > > --- a/include/uapi/linux/perf_event.h > +++ b/include/uapi/linux/perf_event.h > @@ -380,8 +380,8 @@ struct perf_event_mmap_page { > union { > __u64 capabilities; > struct { > - __u64 cap_usr_time : 1, > - cap_usr_rdpmc : 1, > + __u64 cap_usr_rdpmc : 1, > + cap_usr_time : 1, > cap_usr_time_zero : 1, > cap_____res : 61; > }; > It would be nice if there was some way to detect this change; I liked the idea of a "cap_usr_fixed" bit. Even with your change you can't have code that can reliably detect both cap_usr_time and cap_usr_rdpmc unless you can guarantee that both perf_event.h and the kernel are 3.12 or newer, and it gets more complicated if distros backport this patch. Tools like PAPI often carry around their own copy of perf_event.h and people like to move around binaries between machines with different kernel versions so things get complicated quickly. Vince -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html