Re: [PATCH v2 00/14] Add support for parameterized events from sysfs

From: Sukadev Bhattiprolu
Date: Fri Aug 22 2014 - 20:23:33 EST


Jiri Olsa [jolsa@xxxxxxxxxx] wrote:

<snip>
| > Description of the sysfs contents when events are parameterized (copied from an
| > included patch):
| >
| > Examples:
| >
| > domain=0x1,offset=0x8,starting_index=phys_cpu
| >
| > In the case of the last example, a value replacing "phys_cpu"
| > would need to be provided by the user selecting the particular
| > event. This is refered to as "event parameterization". All
| > non-numerical values indicate an event parameter.
| >
| > Notes on how perf-list displays parameterized events (and how to use them,
| > again culled from an included patch):
| >
| > PARAMETERIZED EVENTS
| > --------------------
| >
| > Some pmu events listed by 'perf-list' will be displayed with '?' in
| > them. For example:
| >
| > hv_gpci/dtbp_ptitc,phys_processor_idx=?/
| >
| > This means that when provided as an event, a value for
| > phys_processor_idx must also be supplied. For example:
| >
| > perf stat -e 'hv_gpci/dtbp_ptitc,phys_processor_idx=0x2/' ...
|
| hi,
| is the reason for this to document this field for event
| in "events/<event>" file?

We are trying to document that for the parameters that have the ? in
perf list, the parameter must be specified otherwise the event will
not be recognized.

|
| Because once you have the field (phys_processor_idx) defined in
| "formats/phys_processor_idx" you should be able to use it as in
| your example:
|
| perf stat -e 'hv_gpci/dtbp_ptitc,phys_processor_idx=0x2/'
|
| without any changes

For some events 'starting_index' refers to physical processor index
as shown in the sysfs entry:

$ cd /sys/bus/event_source/devices/hv_gpci/events
$ cat dispatch_timebase_by_processor_processor_time_in_timebase_cycles
request=0x10,starting_index=phys_processor_idx,counter_info_version=0x8,length=8,offset=0

and 'perf list' for this entry shows 'starting_index' with a ?
indicating it is a requireed parameter.

IIUC, rather than have the user specify a value for 'phys_processor_idx'

-e hv_gpci/dtbp_ptitc,phys_processor_idx=4/'

we would use following right ?

-e hv_gpci/dtbp_ptitc,starting_index=4/'

If so, I think the interface change makes sense. perf list would also
show 'starting_index=?' for the event.

But in the sysfs entry, rather than show 'starting_index=?', should we
leave it as:

'starting_index=phys_processor_idx'

For some events 'startind_index' refers to a physical processor id
and for others it is virtual processor id. So, showing phys_processor_idx
could serve as a hint.

Michael, Cody, Ingo, Peter, let me know if you agree or have other
comments on the inteface.

Thanks,

Sukadev



|
| thanks,
| jirka

--
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/