You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge tag 'v6.11-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
Pull turbostat updates from Len Brown:
- Enable turbostat extensions to add both perf and PMT (Intel
Platform Monitoring Technology) counters via the cmdline
- Demonstrate PMT access with built-in support for Meteor Lake's
Die C6 counter
* tag 'v6.11-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
tools/power turbostat: version 2024.07.26
tools/power turbostat: Include umask=%x in perf counter's config
tools/power turbostat: Document PMT in turbostat.8
tools/power turbostat: Add MTL's PMT DC6 builtin counter
tools/power turbostat: Add early support for PMT counters
tools/power turbostat: Add selftests for added perf counters
tools/power turbostat: Add selftests for SMI, APERF and MPERF counters
tools/power turbostat: Move verbose counter messages to level 2
tools/power turbostat: Move debug prints from stdout to stderr
tools/power turbostat: Fix typo in turbostat.8
tools/power turbostat: Add perf added counter example to turbostat.8
tools/power turbostat: Fix formatting in turbostat.8
tools/power turbostat: Extend --add option with perf counters
tools/power turbostat: Group SMI counter with APERF and MPERF
tools/power turbostat: Add ZERO_ARRAY for zero initializing builtin array
tools/power turbostat: Replace enum rapl_source and cstate_source with counter_source
tools/power turbostat: Remove anonymous union from rapl_counter_info_t
tools/power/turbostat: Switch to new Intel CPU model defines
/sys/path... is an absolute path to a sysfs attribute
35
+
<device> is a perf device from /sys/bus/event_source/devices/<device> eg. cstate_core
36
+
<event> is a perf event for given device from /sys/bus/event_source/devices/<device>/events/<event> eg. c1-residency
37
+
perf/cstate_core/c1-residency would then use /sys/bus/event_source/devices/cstate_core/events/c1-residency
35
38
36
39
scope: {\fBcpu\fP | \fBcore\fP | \fBpackage\fP}
37
40
sample and print the counter for every cpu, core, or package.
@@ -52,6 +55,39 @@ name as necessary to disambiguate it from others is necessary. Note that option
52
55
as the column header.
53
56
.fi
54
57
.PP
58
+
\fB--addpmt,[attr_name=attr_value,...]\fP add column with a PMT (Intel Platform Monitoring Technology) counter in a similar way to --add option above, but require PMT metadata to be supplied to correctly read and display the counter. The metadata can be found in the Intel PMT XML files, hosted at https://github.com/intel/Intel-PMT. For a complete example see "ADD PMT COUNTER EXAMPLE".
59
+
.nf
60
+
name="name_string"
61
+
For column header.
62
+
63
+
type={\fBraw\fP}
64
+
'raw' shows the counter contents in hex.
65
+
default: raw
66
+
67
+
format={\fBraw\fP | \fBdelta\fP}
68
+
'raw' shows the counter contents in hex.
69
+
'delta' shows the difference in values during the measurement interval.
'%u' denotes id of the domain that the counter is associated with. For example core4 would mean that the counter is associated with core number 4.
77
+
78
+
offset=\fB%u\fP
79
+
'%u' offset within the PMT MMIO region.
80
+
81
+
lsb=\fB%u\fP
82
+
'%u' least significant bit within the 64 bit value read from 'offset'. Together with 'msb', used to form a read mask.
83
+
84
+
msb=\fB%u\fP
85
+
'%u' most significant bit within the 64 bit value read from 'offset'. Together with 'lsb', used to form a read mask.
86
+
87
+
guid=\fB%x\fP
88
+
'%x' hex identifier of the PMT MMIO region.
89
+
.fi
90
+
.PP
55
91
\fB--cpucpu-set\fP limit output to system summary plus the specified cpu-set. If cpu-set is the string "core", then the system summary plus the first CPU in each core are printed -- eg. subsequent HT siblings are not printed. Or if cpu-set is the string "package", then the system summary plus the first CPU in each package is printed. Otherwise, the system summary plus the specified set of CPUs are printed. The cpu-set is ordered from low to high, comma delimited with ".." and "-" permitted to denote a range. eg. 1,2,8,14..17,21-44
56
92
.PP
57
93
\fB--hidecolumn\fP do not show the specified built-in columns. May be invoked multiple times, or with a comma-separated list of column names.
@@ -67,10 +103,10 @@ The column name "all" can be used to enable all disabled-by-default built-in cou
67
103
.PP
68
104
\fB--quiet\fP Do not decode and print the system configuration header information.
69
105
.PP
70
-
+\fB--no-msr\fP Disable all the uses of the MSR driver.
71
-
+.PP
72
-
+\fB--no-perf\fP Disable all the uses of the perf API.
73
-
+.PP
106
+
\fB--no-msr\fP Disable all the uses of the MSR driver.
107
+
.PP
108
+
\fB--no-perf\fP Disable all the uses of the perf API.
109
+
.PP
74
110
\fB--intervalseconds\fP overrides the default 5.0 second measurement interval.
75
111
.PP
76
112
\fB--num_iterationsnum\fP number of the measurement iterations.
@@ -320,7 +356,7 @@ available on all processors.
320
356
Here we limit turbostat to showing just the CPU number for cpu0 - cpu3.
321
357
We add a counter showing the 32-bit raw value of MSR 0x199 (MSR_IA32_PERF_CTL),
322
358
labeling it with the column header, "PRF_CTRL", and display it only once,
0 commit comments