Skip to content

Commit 2793f90

Browse files
committed
Release version 1.6.18
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
1 parent 3b74f40 commit 2793f90

7 files changed

Lines changed: 362 additions & 67 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,12 @@ Versioning practices: [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
66
## [ADD NEW VERSION HERE] - ADD DATE HERE
77
### Fixed
88
### Added
9-
- pepc tpmi ls --list-specs.
109
### Removed
10+
### Changed
11+
12+
## [1.6.18] - 2026-01-23
13+
### Added
14+
- pepc tpmi ls --list-specs.
1115
### Changed
1216
- Improved tpmi command documentation.
1317

@@ -894,4 +898,4 @@ Versioning practices: [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
894898

895899
## [1.1.0] - 2021-10-29
896900
### Changed
897-
- pepc: first release.
901+
- pepc: first release.

pepcdata/man/man1/pepc-pmqos.1

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
.\" Automatically generated by Pandoc 3.6.4
2+
.\"
3+
.TH "PM QoS" "" "" ""
4+
.SH Command \f[I]\[aq]pmqos\[aq]\f[R]
5+
.SS General options
6+
.TP
7+
\f[B]\-h\f[R]
8+
Show a short help message and exit.
9+
.TP
10+
\f[B]\-q\f[R]
11+
Be quiet (print only important messages like warnings).
12+
.TP
13+
\f[B]\-d\f[R]
14+
Print debugging information.
15+
.TP
16+
\f[B]\-\-debug\-modules\f[R] \f[I]MODNAME[,MODNAME1,...]\f[R]
17+
While the \[aq]\-d\[aq] option enables all debug messages, this option
18+
limits them to the specified modules.
19+
For example, \[aq]\-d \-\-debug\-modules MSR\[aq] will only show debug
20+
messages from the \[aq]MSR\[aq] module.
21+
.TP
22+
\f[B]\-\-version\f[R]
23+
Print the version number and exit.
24+
.TP
25+
\f[B]\-H\f[R] \f[I]HOSTNAME\f[R], \f[B]\-\-host\f[R] \f[I]HOSTNAME\f[R]
26+
Host name or IP address of the target system.
27+
The pepc command will be executed on this system using SSH, instead of
28+
running it locally.
29+
If not specified, the command will be run locally.
30+
.TP
31+
\f[B]\-U\f[R] \f[I]USERNAME\f[R], \f[B]\-\-username\f[R] \f[I]USERNAME\f[R]
32+
Name of the user to use for logging into the remote host over SSH.
33+
The default user name is \[aq]root\[aq].
34+
.TP
35+
\f[B]\-K\f[R] \f[I]PRIVKEY\f[R], \f[B]\-\-priv\-key\f[R] \f[I]PRIVKEY\f[R]
36+
Path to the private SSH key for logging into the remote host.
37+
Defaults to keys in standard paths like \[aq]$HOME/.ssh\[aq].
38+
.TP
39+
\f[B]\-T\f[R] \f[I]TIMEOUT\f[R], \f[B]\-\-timeout\f[R] \f[I]TIMEOUT\f[R]
40+
Timeout for establishing an SSH connection in seconds.
41+
Defaults to 8.
42+
.TP
43+
\f[B]\-D\f[R] \f[I]DATASET\f[R], \f[B]\-\-dataset\f[R] \f[I]DATASET\f[R]
44+
This option is for debugging and testing.
45+
It specifies the dataset to use for emulating the host for running the
46+
command on.
47+
The datasets are available in \[aq]pepc\[aq] source code repository.
48+
.RS
49+
.PP
50+
The argument can be a dataset path or name.
51+
If specified by name, the following locations are searched for the
52+
dataset.
53+
.IP "1." 3
54+
\[aq]./tests/emul\-data\[aq] in the program\[aq]s directory
55+
.IP "2." 3
56+
\[aq]$PEPC_DATA_PATH/tests/emul\-data\[aq]
57+
.IP "3." 3
58+
\[aq]$HOME/.local/share/pepc/tests/emul\-data\[aq]
59+
.IP "4." 3
60+
\[aq]$VIRTUAL_ENV/share/tests/emul\-data\[aq]
61+
.IP "5." 3
62+
\[aq]/usr/local/share/pepc/tests/emul\-data\[aq]
63+
.IP "6." 3
64+
\[aq]/usr/share/pepc/tests/emul\-data\[aq]
65+
.RE
66+
.TP
67+
\f[B]\-\-force\-color\f[R]
68+
Force colorized output even if the output stream is not a terminal (adds
69+
ANSI escape codes).
70+
.TP
71+
\f[B]\-\-print\-man\-path\f[R]
72+
Print path to pepc manual pages directory and exit.
73+
This path can be added to the \[aq]MANPATH\[aq] environment variable to
74+
make the manual pages available to the \[aq]man\[aq] tool.
75+
.SS Target CPU specification options
76+
All subcommands (\f[I]\[aq]info\[aq]\f[R], \f[I]\[aq]config\[aq]\f[R])
77+
accept the following target CPU specification options.
78+
.TP
79+
\f[B]\-\-cpus\f[R] \f[I]CPUS\f[R]
80+
The list can include individual CPU numbers and CPU number ranges.
81+
For example, \[aq]1\-4,7,8,10\-12\[aq] would mean CPUs 1 to 4, CPUs 7,
82+
8, and 10 to 12.
83+
Use the special keyword \[aq]all\[aq] to specify all CPUs.
84+
.TP
85+
\f[B]\-\-cores\f[R] \f[I]CORES\f[R]
86+
The list can include individual core numbers and core number ranges.
87+
For example, \[aq]1\-4,7,8,10\-12\[aq] would mean cores 1 to 4, cores 7,
88+
8, and 10 to 12.
89+
Use the special keyword \[aq]all\[aq] to specify all cores.
90+
This option has to be used with the \[aq]\-\-packages\[aq] option,
91+
because core numbers are relative to the package.
92+
.TP
93+
\f[B]\-\-modules\f[R] \f[I]MODULES\f[R]
94+
The list can include individual module numbers and module number ranges.
95+
For example, \[aq]0,2\-5\[aq] would mean module 0 and modules 2, 3, 4,
96+
and 5.
97+
Use the special keyword \[aq]all\[aq] to specify all modules.
98+
Note, unlike core and die numbers, module numbers are absolute.
99+
.TP
100+
\f[B]\-\-dies\f[R] \f[I]DIES\f[R]
101+
The list can include individual die numbers and die number ranges.
102+
For example, \[aq]0\-3,5\[aq] would mean dies 0 to 3, and die 5.
103+
Use the special keyword \[aq]all\[aq] to specify all dies.
104+
On some systems, die numbers are globally unique, while on other systems
105+
they are relative to the package.
106+
In the latter case, this option has to be used with the
107+
\[aq]\-\-packages\[aq] option.
108+
.TP
109+
\f[B]\-\-packages\f[R] \f[I]PACKAGES\f[R]
110+
The list can include individual package numbers and package number
111+
ranges.
112+
For example, \[aq]0,2\-4\[aq] would mean package 0 and packages 2 to 4.
113+
Use the special keyword \[aq]all\[aq] to specify all packages.
114+
.TP
115+
\f[B]\-\-core\-siblings\f[R] \f[I]CORE_SIBLINGS\f[R]
116+
Core siblings are CPUs sharing the same core.
117+
The list can include individual core sibling indices or index ranges.
118+
For example, if a core includes CPUs 3 and 4, index 0 would mean CPU 3
119+
and index 1 would mean CPU 4.
120+
This option can only be used to reference online CPUs, because Linux
121+
does not provide topology information for offline CPUs.
122+
In the example with CPUs 3 and 4, if CPU 3 was offline, then index 0
123+
would mean CPU 4 and index 1 would be invalid.
124+
.TP
125+
\f[B]\-\-module\-siblings\f[R] \f[I]MODULE_SIBLINGS\f[R]
126+
Module siblings are CPUs sharing the same module.
127+
The list can include individual module sibling indices or index ranges.
128+
For example, if a module includes CPUs 3, 4, 5, and 6, index 0 would
129+
mean CPU 3, index 1 would mean CPU 4, index 2 would mean CPU 5, and
130+
index 3 would mean CPU 6.
131+
This option can only be used to reference online CPUs, because Linux
132+
does not provide topology information for offline CPUs.
133+
In the example with CPUs 3, 4, 5, and 6, if CPU 4 was offline, then
134+
index 1 would mean CPU 5, index 2 would mean CPU 6, and index 3 would be
135+
invalid.
136+
.SS Subcommand \f[I]\[aq]info\[aq]\f[R]
137+
Retrieve PM QoS (Power Management Quality of Service) information for
138+
specified CPUs.
139+
By default, display all details for all CPUs.
140+
Use target CPU specification options to define a subset of CPUs, cores,
141+
dies, or packages.
142+
.TP
143+
\f[B]\-\-yaml\f[R]
144+
Display information in YAML format.
145+
.TP
146+
\f[B]\-\-latency\-limit\f[R]
147+
Retrieve the per\-CPU Linux PM QoS limit.
148+
This limit affects C\-state selection by restricting the kernel from
149+
using C\-states with latencies exceeding the specified limit.
150+
For example, a 50us limit ensures the kernel only selects C\-states with
151+
latencies ≤ 50us.
152+
The limit is read from
153+
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/power/pm_qos_resume_latency_us\[aq].
154+
.TP
155+
\f[B]\-\-global\-latency\-limit\f[R]
156+
Retrieve the global Linux PM QoS limit.
157+
This limit, unlike the per\-CPU latency limit, applies globally.
158+
It is read from the \[aq]/dev/cpu_dma_latency\[aq] device node.
159+
.SS Subcommand \f[I]\[aq]config\[aq]\f[R]
160+
Configure PM QoS (Power Management Quality of Service) for specified
161+
CPUs.
162+
If no parameter is provided, the current value(s) will be displayed.
163+
Use target CPU specification options to define the subset of CPUs,
164+
cores, dies, or packages.
165+
.TP
166+
\f[B]\-\-latency\-limit\f[R] \f[I][LIMIT]\f[R]
167+
Set the per\-CPU Linux PM QoS limit, which restricts the kernel from
168+
using C\-states with latencies exceeding the specified value.
169+
For example, a 50us limit ensures the kernel selects only C\-states with
170+
latencies ≤ 50us.
171+
The limit is configured via
172+
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/power/pm_qos_resume_latency_us\[aq].
173+
The default unit is \[aq]us\[aq] (microseconds), but \[aq]ns\[aq],
174+
\[aq]ms\[aq], and \[aq]s\[aq] units are also supported (e.g.,
175+
\[aq]1ms\[aq]).
176+
Value 0 disables the limit.
177+
.PP
178+
Note: Setting the global latency limit is unsupported because the
179+
\[aq]/dev/cpu_dma_latency\[aq] API requires the setter to keep the
180+
device open for the limit to remain effective.
181+
The limit is removed as soon as the device is closed.

pepcdata/man/man1/pepc-tpmi.1

Lines changed: 49 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -121,13 +121,27 @@ make the manual pages available to the \[aq]man\[aq] tool.
121121
.SS Subcommand \f[I]\[aq]ls\[aq]\f[R]
122122
Display supported TPMI features.
123123
.TP
124-
\f[B]\-l\f[R], \f[B]\-\-long\f[R]
125-
Include details like TPMI device PCI addresses and instance numbers for
126-
more specific output.
124+
\f[B]\-\-list\-specs\f[R]
125+
Display information about TPMI spec files for the target system and
126+
exit.
127+
Show the detected CPU model and available spec files for that model.
128+
Spec directories may contain files for different CPU models.
129+
Select files matching the target system.
130+
Note that the target system may not support all TPMI features described
131+
in the spec files.
132+
.TP
133+
\f[B]\-t\f[R], \f[B]\-\-topology\f[R]
134+
Display TPMI topology (PCI addresses, instance numbers, etc.).
127135
.TP
128-
\f[B]\-\-all\f[R]
129-
Include IDs of TPMI features supported by the processor but lacking spec
130-
files for decoding.
136+
\f[B]\-F\f[R] \f[I][FEATURES]\f[R], \f[B]\-\-features\f[R] \f[I][FEATURES]\f[R]
137+
Comma\-separated list of TPMI feature names to include in the output.
138+
Defaults to all supported features.
139+
.TP
140+
\f[B]\-\-unknown\f[R]
141+
Include TPMI features without spec files (unknown features).
142+
.TP
143+
\f[B]\-\-yaml\f[R]
144+
Display information in YAML format.
131145
.SS Subcommand \f[I]\[aq]read\[aq]\f[R]
132146
Read one or more TPMI registers.
133147
.TP
@@ -148,16 +162,29 @@ Comma\-separated list of package numbers to read TPMI registers for
148162
Comma\-separated list of TPMI instance numbers to read registers from
149163
(defaults to all instances).
150164
.TP
165+
\f[B]\-c\f[R] \f[I][CLUSTERS]\f[R], \f[B]\-\-clusters\f[R] \f[I][CLUSTERS]\f[R]
166+
Comma\-separated list of cluster numbers to read registers from
167+
(defaults to all clusters).
168+
This option is only relevant for the \[aq]ufs\[aq] TPMI feature, because
169+
there may be multiple copies of UFS control registers within a TPMI
170+
instance, and the copies are referred to as clusters.
171+
All other TPMI features have only one cluster \- cluster 0.
172+
.TP
151173
\f[B]\-R\f[R] \f[I][REGISTERS]\f[R], \f[B]\-\-registers\f[R] \f[I][REGISTERS]\f[R]
152174
Comma\-separated list of TPMI register names to read.
153175
Defaults to all registers.
154176
.TP
155177
\f[B]\-b\f[R] \f[I][BFNAMES]\f[R], \f[B]\-\-bitfields\f[R] \f[I][BFNAMES]\f[R]
156-
Comma\-separated list of TPMI register bit field names to read.
157-
Defaults to all bit fields.
178+
Comma\-separated list of TPMI register bit field names to decode.
179+
Defaults to decoding all bit fields.
180+
.TP
181+
\f[B]\-n\f[R], \f[B]\-\-no\-bitfields\f[R]
182+
Do not decode and display TPMI register bit field values.
183+
When this option is specified, only register values will be displayed
184+
without decoding the individual bit fields within them.
158185
.TP
159186
\f[B]\-\-yaml\f[R]
160-
Output information in YAML format.
187+
Display information in YAML format.
161188
.SS Subcommand \f[I]\[aq]write\[aq]\f[R]
162189
Write a value to a TPMI register or its bit field.
163190
.TP
@@ -175,12 +202,23 @@ packages).
175202
Comma\-separated list of TPMI instance numbers to write to.
176203
Defaults to all instances.
177204
.TP
205+
\f[B]\-c\f[R] \f[I][CLUSTERS]\f[R], \f[B]\-\-clusters\f[R] \f[I][CLUSTERS]\f[R]
206+
Comma\-separated list of cluster numbers to write to (defaults to all
207+
clusters).
208+
This option is only relevant for the \[aq]ufs\[aq] TPMI feature, because
209+
there may be multiple copies of UFS control registers within a TPMI
210+
instance, and the copies are referred to as clusters.
211+
All other TPMI features have only one cluster \- cluster 0.
212+
.TP
178213
\f[B]\-R\f[R] \f[I]REGNAME\f[R], \f[B]\-\-register\f[R] \f[I]REGNAME\f[R]
179214
Name of the TPMI register to write.
180215
.TP
181216
\f[B]\-b\f[R] \f[I]BITFIELD\f[R], \f[B]\-\-bitfield\f[R] \f[I]BITFIELD\f[R]
182-
Name of the TPMI register bitfield to write.
183-
Defaults to writing to the entire register if not specified.
217+
Name of the TPMI register bit field to write to.
218+
If this option is not specified, the value will be written to the entire
219+
register.
220+
When specified, only the specified bit field within the register will be
221+
modified.
184222
.TP
185223
\f[B]\-V\f[R] \f[I]VALUE\f[R], \f[B]\-\-value\f[R] \f[I]VALUE\f[R]
186224
Value to write to the TPMI register or bit field.

0 commit comments

Comments
 (0)