[lttng-dev] [RFC lttng-tools] Do not list or allow unsupported perf events
Tony Jones
tonyj at suse.com
Sun Sep 13 12:03:28 EDT 2015
On 09/13/2015 08:53 AM, Mathieu Desnoyers wrote:
> CCing the new lttng-tools maintainer, Jérémie. More below,
>
> ----- On Sep 10, 2015, at 3:21 PM, Tony Jones tonyj at suse.com wrote:
>
>> Query the perf api to determine the list of events that are actually
>> supported by the PMU. Reject events that are not supported. On an
>> AMD Opteron 6128 the following currently listed events are not supported:
>>
>> perf:bus-cycles, perf:L1-dcache-store-misses,
>> perf:L1-icache-stores, perf:L1-icache-store-misses,
>> perf:L1-icache-prefetch-misses, perf:LLC-store-misses,
>> perf:LLC-prefetches, perf:LLC-prefetch-misses, perf:dTLB-stores,
>> perf:dTLB-store-misses, perf:dTLB-prefetches,
>> perf:dTLB-prefetch-misses
>>
>> It's not clear to me (hence the RFC) why parts of the perf ABI definitions
>> had been replicated into add_context.c rather than just including
>> perf_event.h (other than to avoid an autotools dependancy/check on
>> perf_event.h which this patch still needs). It is also possible that
>> querying the available events would be better handled over the lttng
>> user->kernel ABI.
>>
>> Thoughts?
>
> It might make sense to add a dependency on perf_event.h.
>
> I'm wondering if your detection technique below really try to
> allocate a PMU counter for a short period of time ? This could
> be an issue since there is a limited amount of counters available.
It's pretty much the way 'perf list' works but I hear what you are saying. Since it's possible
to incrementally add events I expect the detection could fail to allocate any thus reporting
no available events. I'd not considered this, I'll have to test the hypothesis.
More information about the lttng-dev
mailing list