Linux 6.11-rc1
[linux-2.6-microblaze.git] / Documentation / ABI / testing / sysfs-bus-event_source-devices-events
1 What:           /sys/devices/cpu/events/
2                 /sys/devices/cpu/events/branch-misses
3                 /sys/devices/cpu/events/cache-references
4                 /sys/devices/cpu/events/cache-misses
5                 /sys/devices/cpu/events/stalled-cycles-frontend
6                 /sys/devices/cpu/events/branch-instructions
7                 /sys/devices/cpu/events/stalled-cycles-backend
8                 /sys/devices/cpu/events/instructions
9                 /sys/devices/cpu/events/cpu-cycles
10
11 Date:           2013/01/08
12
13 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
14
15 Description:    Generic performance monitoring events
16
17                 A collection of performance monitoring events that may be
18                 supported by many/most CPUs. These events can be monitored
19                 using the 'perf(1)' tool.
20
21                 The contents of each file would look like:
22
23                         event=0xNNNN
24
25                 where 'N' is a hex digit and the number '0xNNNN' shows the
26                 "raw code" for the perf event identified by the file's
27                 "basename".
28
29
30 What: /sys/bus/event_source/devices/<pmu>/events/<event>
31 Date: 2014/02/24
32 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
33 Description:    Per-pmu performance monitoring events specific to the running system
34
35                 Each file (except for some of those with a '.' in them, '.unit'
36                 and '.scale') in the 'events' directory describes a single
37                 performance monitoring event supported by the <pmu>. The name
38                 of the file is the name of the event.
39
40                 As performance monitoring event names are case
41                 insensitive in the perf tool, the perf tool only looks
42                 for lower or upper case event names in sysfs to avoid
43                 scanning the directory. It is therefore required the
44                 name of the event here is either lower or upper case.
45
46                 File contents:
47
48                         <term>[=<value>][,<term>[=<value>]]...
49
50                 Where <term> is one of the terms listed under
51                 /sys/bus/event_source/devices/<pmu>/format/ and <value> is
52                 a number is base-16 format with a '0x' prefix (lowercase only).
53                 If a <term> is specified alone (without an assigned value), it
54                 is implied that 0x1 is assigned to that <term>.
55
56                 Examples (each of these lines would be in a separate file):
57
58                         event=0x2abc
59                         event=0x423,inv,cmask=0x3
60                         domain=0x1,offset=0x8,starting_index=0xffff
61                         domain=0x1,offset=0x8,core=?
62
63                 Each of the assignments indicates a value to be assigned to a
64                 particular set of bits (as defined by the format file
65                 corresponding to the <term>) in the perf_event structure passed
66                 to the perf_open syscall.
67
68                 In the case of the last example, a value replacing "?" would
69                 need to be provided by the user selecting the particular event.
70                 This is referred to as "event parameterization". Event
71                 parameters have the format 'param=?'.
72
73 What: /sys/bus/event_source/devices/<pmu>/events/<event>.unit
74 Date: 2014/02/24
75 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
76 Description:    Perf event units
77
78                 A string specifying the English plural numerical unit that <event>
79                 (once multiplied by <event>.scale) represents.
80
81                 Example:
82
83                         Joules
84
85 What: /sys/bus/event_source/devices/<pmu>/events/<event>.scale
86 Date: 2014/02/24
87 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
88 Description:    Perf event scaling factors
89
90                 A string representing a floating point value expressed in
91                 scientific notation to be multiplied by the event count
92                 received from the kernel to match the unit specified in the
93                 <event>.unit file.
94
95                 Example:
96
97                         2.3283064365386962890625e-10
98
99                 This is provided to avoid performing floating point arithmetic
100                 in the kernel.