]> git.karo-electronics.de Git - karo-tx-linux.git/commit
perf tools: Add pmu mappings to header information
authorRobert Richter <robert.richter@amd.com>
Fri, 9 Dec 2011 11:23:12 +0000 (12:23 +0100)
committerRobert Richter <robert.richter@amd.com>
Thu, 15 Dec 2011 14:17:43 +0000 (15:17 +0100)
commitc415f577eb32d80802311ebe9d51f06926c170c1
tree00c51b2b1ef4ae2c7bb7cf8db329afc7997a33ca
parent1e48600d2388f8ed47815d09342b059bee622328
perf tools: Add pmu mappings to header information

With dynamic pmu allocation there are also dynamically assigned pmu
ids. These ids are used in event->attr.type to describe the pmu to be
used for that event. The information is available in sysfs, e.g:

 /sys/bus/event_source/devices/breakpoint/type: 5
 /sys/bus/event_source/devices/cpu/type: 4
 /sys/bus/event_source/devices/ibs_fetch/type: 6
 /sys/bus/event_source/devices/ibs_op/type: 7
 /sys/bus/event_source/devices/software/type: 1
 /sys/bus/event_source/devices/tracepoint/type: 2

These mappings are needed to know which samples belong to which pmu.
If a pmu is added dynamically like for ibs_fetch or ibs_op the type
value may vary.

Now, when decoding samples from perf.data this information in sysfs
might be no longer available or may have changed. We need to store it
in perf.data. Using the header for this. The header information
created with perf report would contain an additional section looking
like this:

 # pmu mappings: ibs_op = 7, ibs_fetch = 6, cpu = 4, breakpoint = 5, tracepoint = 2, software = 1

Signed-off-by: Robert Richter <robert.richter@amd.com>
tools/perf/util/header.c
tools/perf/util/header.h