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 insensitive 41 in the perf tool, the perf tool only looks for all lower 42 case or all 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 completely lower or upper 45 case, with no mixed-case characters. Numbers, '.', '_', and 46 '-' are also allowed. 47 48 File contents: 49 50 <term>[=<value>][,<term>[=<value>]]... 51 52 Where <term> is one of the terms listed under 53 /sys/bus/event_source/devices/<pmu>/format/ and <value> is 54 a number is base-16 format with a '0x' prefix (lowercase only). 55 If a <term> is specified alone (without an assigned value), it 56 is implied that 0x1 is assigned to that <term>. 57 58 Examples (each of these lines would be in a separate file): 59 60 event=0x2abc 61 event=0x423,inv,cmask=0x3 62 domain=0x1,offset=0x8,starting_index=0xffff 63 domain=0x1,offset=0x8,core=? 64 65 Each of the assignments indicates a value to be assigned to a 66 particular set of bits (as defined by the format file 67 corresponding to the <term>) in the perf_event structure passed 68 to the perf_open syscall. 69 70 In the case of the last example, a value replacing "?" would 71 need to be provided by the user selecting the particular event. 72 This is referred to as "event parameterization". Event 73 parameters have the format 'param=?'. 74 75What: /sys/bus/event_source/devices/<pmu>/events/<event>.unit 76Date: 2014/02/24 77Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 78Description: Perf event units 79 80 A string specifying the English plural numerical unit that <event> 81 (once multiplied by <event>.scale) represents. 82 83 Example: 84 85 Joules 86 87What: /sys/bus/event_source/devices/<pmu>/events/<event>.scale 88Date: 2014/02/24 89Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 90Description: Perf event scaling factors 91 92 A string representing a floating point value expressed in 93 scientific notation to be multiplied by the event count 94 received from the kernel to match the unit specified in the 95 <event>.unit file. 96 97 Example: 98 99 2.3283064365386962890625e-10 100 101 This is provided to avoid performing floating point arithmetic 102 in the kernel. 103