mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
98a43e0e99
Event parameters are a basic way for partial events to be specified in sysfs with per-event names given to the fields that need to be filled in when using a particular event. It is intended for supporting cases where the single 'cpu' parameter is insufficient. For example, POWER 8 has events for physical sockets/cores/cpus that are accessible from with virtual machines. To keep using the single 'cpu' parameter we'd need to perform a mapping between Linux's cpus and the physical machine's cpus (in this case Linux is running under a hypervisor). This isn't possible because bindings between our cpus and physical cpus may not be fixed, and we probably won't have a "cpu" on each physical cpu. Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com> Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Cc: Cody P Schafer <dev@codyps.com> Cc: Haren Myneni <hbabu@us.ibm.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> Cc: linuxppc-dev@lists.ozlabs.org Link: http://lkml.kernel.org/r/1420679633-28856-4-git-send-email-sukadev@linux.vnet.ibm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
95 lines
3.1 KiB
Plaintext
95 lines
3.1 KiB
Plaintext
What: /sys/devices/cpu/events/
|
|
/sys/devices/cpu/events/branch-misses
|
|
/sys/devices/cpu/events/cache-references
|
|
/sys/devices/cpu/events/cache-misses
|
|
/sys/devices/cpu/events/stalled-cycles-frontend
|
|
/sys/devices/cpu/events/branch-instructions
|
|
/sys/devices/cpu/events/stalled-cycles-backend
|
|
/sys/devices/cpu/events/instructions
|
|
/sys/devices/cpu/events/cpu-cycles
|
|
|
|
Date: 2013/01/08
|
|
|
|
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
|
|
|
|
Description: Generic performance monitoring events
|
|
|
|
A collection of performance monitoring events that may be
|
|
supported by many/most CPUs. These events can be monitored
|
|
using the 'perf(1)' tool.
|
|
|
|
The contents of each file would look like:
|
|
|
|
event=0xNNNN
|
|
|
|
where 'N' is a hex digit and the number '0xNNNN' shows the
|
|
"raw code" for the perf event identified by the file's
|
|
"basename".
|
|
|
|
|
|
What: /sys/bus/event_source/devices/<pmu>/events/<event>
|
|
Date: 2014/02/24
|
|
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
|
|
Description: Per-pmu performance monitoring events specific to the running system
|
|
|
|
Each file (except for some of those with a '.' in them, '.unit'
|
|
and '.scale') in the 'events' directory describes a single
|
|
performance monitoring event supported by the <pmu>. The name
|
|
of the file is the name of the event.
|
|
|
|
File contents:
|
|
|
|
<term>[=<value>][,<term>[=<value>]]...
|
|
|
|
Where <term> is one of the terms listed under
|
|
/sys/bus/event_source/devices/<pmu>/format/ and <value> is
|
|
a number is base-16 format with a '0x' prefix (lowercase only).
|
|
If a <term> is specified alone (without an assigned value), it
|
|
is implied that 0x1 is assigned to that <term>.
|
|
|
|
Examples (each of these lines would be in a seperate file):
|
|
|
|
event=0x2abc
|
|
event=0x423,inv,cmask=0x3
|
|
domain=0x1,offset=0x8,starting_index=0xffff
|
|
domain=0x1,offset=0x8,core=?
|
|
|
|
Each of the assignments indicates a value to be assigned to a
|
|
particular set of bits (as defined by the format file
|
|
corresponding to the <term>) in the perf_event structure passed
|
|
to the perf_open syscall.
|
|
|
|
In the case of the last example, a value replacing "?" would
|
|
need to be provided by the user selecting the particular event.
|
|
This is referred to as "event parameterization". Event
|
|
parameters have the format 'param=?'.
|
|
|
|
What: /sys/bus/event_source/devices/<pmu>/events/<event>.unit
|
|
Date: 2014/02/24
|
|
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
|
|
Description: Perf event units
|
|
|
|
A string specifying the English plural numerical unit that <event>
|
|
(once multiplied by <event>.scale) represents.
|
|
|
|
Example:
|
|
|
|
Joules
|
|
|
|
What: /sys/bus/event_source/devices/<pmu>/events/<event>.scale
|
|
Date: 2014/02/24
|
|
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
|
|
Description: Perf event scaling factors
|
|
|
|
A string representing a floating point value expressed in
|
|
scientific notation to be multiplied by the event count
|
|
recieved from the kernel to match the unit specified in the
|
|
<event>.unit file.
|
|
|
|
Example:
|
|
|
|
2.3283064365386962890625e-10
|
|
|
|
This is provided to avoid performing floating point arithmetic
|
|
in the kernel.
|