Re: [PATCH] perf: add support for per-event sampling period orfrequency in perf record

From: Stephane Eranian
Date: Tue Nov 23 2010 - 06:34:08 EST


On Tue, Nov 23, 2010 at 12:33 PM, Stephane Eranian <eranian@xxxxxxxxxx> wrote:
> On Tue, Nov 23, 2010 at 12:11 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>> On Tue, 2010-11-23 at 11:45 +0200, Stephane Eranian wrote:
>>> This patch allows specifying a per event sampling period or frequency.
>>> Up until now, the same sampling period or frequency was applied to all
>>> the events specified on the command line of perf record. A sampling
>>> period depends on the event, thus it is necessary to specify it per event.
>>>
>>> With this patch, both the -F and -c options now take a comma separated
>>> list of values. If a value is omitted for an event, it defaults to 1000Hz
>>> frequency mode as before.
>>>
>>> $ perf record -e cycles,instructions -c 100000,200000 -a -- sleep 5
>>
>>
>> I remember an email not too long ago where people proposed to change the
>> syntax so that:
>>
>> Â-e evnt1,evnt2 Â Â -- create a group containing both events
>> Â-e evnt1 -e evnt2 Â-- create two separate events
>>
> Yes, that would be nice too especially for people interested in event ratios.
>
>> It would be nice to make sure these two proposals will not interfere.
>>
>> Alternatively we extend the event syntax to include the period,
>> something like:
>>
>> Â-e evnt1:period=1234
>>
> Yes, that's the other approach. It may be more readable when you
> have more events. I have that working with libpfm4, i.e., the full
> event string is processed by the library. But for now, we could try
> and do this in the tool as well, something like:
>
> -e evtnt1:period=1234 -e evnt2:freq=100
>
Forgot to say, that the reason I did it thru -c and -F was to maintain
backward compatibility.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/