1What: /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 11Date: 2013/01/08 12 13Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 14 15Description: 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 30What: /sys/bus/event_source/devices/<pmu>/events/<event> 31Date: 2014/02/24 32Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 33Description: 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 73What: /sys/bus/event_source/devices/<pmu>/events/<event>.unit 74Date: 2014/02/24 75Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 76Description: 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 85What: /sys/bus/event_source/devices/<pmu>/events/<event>.scale 86Date: 2014/02/24 87Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 88Description: 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. 101