Skip to content

Commit 195c779

Browse files
committed
Release version 1.6.13
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
1 parent f724ad3 commit 195c779

6 files changed

Lines changed: 78 additions & 85 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,18 @@ Changelog practices: [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
44
Versioning practices: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
55

66
## [ADD NEW VERSION HERE] - ADD DATE HERE
7+
### Fixed
8+
### Added
9+
### Removed
10+
### Changed
11+
12+
## [1.6.13] - 2026-01-08
713
### Fixed
814
- Fix 'pepc pstates' crash on Lunar Lake.
915
### Added
1016
- Make 'info' commands (e.g. pepc pstates info) not fail when permission is
1117
denied to read certain properties. Instead, print "Permission denied" for
1218
such properties and continue.
13-
### Removed
14-
### Changed
1519

1620
## [1.6.12] - 2025-12-22
1721
### Fixed
@@ -864,4 +868,4 @@ Versioning practices: [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
864868

865869
## [1.1.0] - 2021-10-29
866870
### Changed
867-
- pepc: first release.
871+
- pepc: first release.

debian/changelog

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
pepc (1.6.13) unstable; urgency=low
2+
3+
* Fix 'pepc pstates' crash on Lunar Lake.
4+
* Make 'info' commands (e.g. pepc pstates info) not fail when permission is
5+
denied to read certain properties. Instead, print "Permission denied" for
6+
such properties and continue.
7+
8+
-- Artem Bityutskiy <artem.bityutskiy@intel.com> Thu, 08 Jan 2026 00:00:00 +0200
9+
110
pepc (1.6.12) unstable; urgency=low
211

312
* Multiple minor bug fixes in 'pepc tpmi'.

pepcdata/man/man1/pepc-pstates.1

Lines changed: 59 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -184,12 +184,66 @@ while \[aq]msr\[aq] reads the MSR_HWP_REQUEST (0x774) register, bits
184184
15:8.
185185
.TP
186186
\f[B]\-\-min\-freq\-limit\f[R]
187-
Retrieve the minimum CPU frequency supported by the Linux kernel from
187+
Retrieve the minimum supported CPU frequency using the \[aq]sysfs\[aq],
188+
\[aq]msr\[aq], and \[aq]cppc\[aq] mechanisms.
189+
.RS
190+
.PP
191+
The \[aq]sysfs\[aq] mechanism returns the minimum CPU frequency
192+
supported by the Linux kernel, it reads
188193
\[dq]/sys/devices/system/cpu/cpu<NUMBER>/cpufreq/cpuinfo_min_freq\[dq].
194+
.PP
195+
The \[aq]msr\[aq] mechanism reads MSR_PLATFORM_INFO (0xCE), bits 55:48.
196+
.PP
197+
The \[aq]cppc\[aq] mechanism reads
198+
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/lowest_freq\[aq].
199+
If unavailable, on non\-Intel platforms the frequency is calculated as
200+
\[dq]nominal_freq * lowest_perf / nominal_perf\[dq] using values from:
201+
nominal_freq:
202+
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_freq\[aq],
203+
lowest_perf:
204+
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/lowest_perf\[aq],
205+
nominal_perf:
206+
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_perf\[aq].
207+
.RE
189208
.TP
190209
\f[B]\-\-max\-freq\-limit\f[R]
191-
Retrieve the maximum CPU frequency supported by the Linux kernel from
210+
Retrieve the maximum supported CPU frequency using the \[aq]sysfs\[aq],
211+
\[aq]msr\[aq], and \[aq]cppc\[aq] mechanisms.
212+
.RS
213+
.PP
214+
The \[aq]sysfs\[aq] mechanism returns the maximum CPU frequency
215+
supported by the Linux kernel, it reads
192216
\[dq]/sys/devices/system/cpu/cpu<NUMBER>/cpufreq/cpuinfo_max_freq\[dq].
217+
.PP
218+
The \[aq]msr\[aq] mechanism retrieves the highest 1\-core turbo, also
219+
known as P01.
220+
If HWP (Hardware P\-states) is enabled, the \[aq]msr\[aq] mechanism
221+
reads MSR_HWP_CAPABILITIES (0x771), bits 7:0, otherwise reads
222+
MSR_TURBO_RATIO_LIMIT (0x1AD), bits 7:0.
223+
.PP
224+
The \[aq]cppc\[aq] mechanism reads
225+
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/highest_freq\[aq].
226+
If unavailable, on non\-Intel platforms the frequency is calculated as
227+
\[dq]nominal_freq * highest_perf / nominal_perf\[dq] using values from:
228+
nominal_freq:
229+
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_freq\[aq],
230+
highest_perf:
231+
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/highest_perf\[aq],
232+
nominal_perf:
233+
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_perf\[aq].
234+
.RE
235+
.TP
236+
\f[B]\-\-max\-turbo\-freq\f[R]
237+
Same as \[aq]\-\-max\-freq\-limit\[aq] with the \[aq]msr\[aq] mechanism
238+
only.
239+
Retrieves the maximum supported CPU turbo frequency.
240+
.TP
241+
\f[B]\-\-hwp\f[R]
242+
Check if hardware power management is enabled.
243+
When enabled, CPUs can scale their frequency automatically without OS
244+
involvement.
245+
Mechanism: \[aq]msr\[aq], reads MSR_PM_ENABLE (0x770), bit 0.
246+
This setting has global scope.
193247
.TP
194248
\f[B]\-\-frequencies\f[R]
195249
List CPU frequencies supported by the Linux kernel for
@@ -203,20 +257,16 @@ from \[aq]\-\-min\-freq\-limit\[aq] to \[aq]\-\-max\-freq\-limit\[aq]
203257
are available with a step equal to \[aq]\-\-bus\-clock\[aq].
204258
.TP
205259
\f[B]\-\-base\-freq\f[R]
206-
Retrieve the base CPU frequency, also known as the \[dq]guaranteed
207-
frequency,\[dq] HFM (High Frequency Mode), or P1.
208-
The supported mechanisms are: \[aq]sysfs\[aq], \[aq]cppc\[aq],
209-
\[aq]msr\[aq].
260+
Retrieve the base CPU frequency, also known as HFM (High Frequency
261+
Mode), or P1.
262+
The supported mechanisms are: \[aq]sysfs\[aq], \[aq]msr\[aq].
210263
.RS
211264
.PP
212265
The preferred mechanism is \[aq]sysfs\[aq], which reads
213266
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/cpufreq/base_frequency\[aq].
214267
If the file is unavailable, it falls back to
215268
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/cpufreq/bios_limit\[aq].
216269
.PP
217-
The \[aq]cppc\[aq] mechanism read the
218-
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_freq\[aq].
219-
.PP
220270
The \[aq]msr\[aq] mechanism reads the base CPU frequency from the
221271
MSR_HWP_CAPABILITIES (0x771), bits 15:8 if CPU hardware power management
222272
is enabled, otherwise from MSR_PLATFORM_INFO (0xCE), bits 15:8.
@@ -229,30 +279,6 @@ legacy Intel platforms.
229279
For modern Intel platforms, the \[aq]doc\[aq] mechanism assumes a 100MHz
230280
bus clock.
231281
.TP
232-
\f[B]\-\-min\-oper\-freq\f[R]
233-
Retrieve the minimum CPU operating frequency, the lowest frequency the
234-
CPU can operate at.
235-
This frequency, also known as Pm, may not always be directly available
236-
to the OS but can be used by the platform in certain scenarios (e.g.,
237-
some C\-states).
238-
The supported mechanisms are: \[aq]msr\[aq], \[aq]cppc\[aq].
239-
.RS
240-
.PP
241-
The \[aq]msr\[aq] mechanism: \[aq]msr\[aq], reads MSR_PLATFORM_INFO
242-
(0xCE), bits 55:48.
243-
.PP
244-
The \[aq]cppc\[aq] mechanism reads
245-
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/lowest_freq\[aq].
246-
If unavailable, on non\-Intel platforms the frequency is calculated as
247-
\[dq]base_freq * lowest_perf / nominal_perf\[dq] using values from:
248-
base_freq:
249-
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_freq\[aq],
250-
lowest_perf:
251-
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/lowest_perf\[aq],
252-
nominal_perf:
253-
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_perf\[aq].
254-
.RE
255-
.TP
256282
\f[B]\-\-turbo\f[R]
257283
Check if turbo is enabled or disabled.
258284
When enabled, CPUs can run at frequencies above the base frequency if
@@ -262,36 +288,6 @@ Reads the sysfs file based on the CPU frequency driver: intel_pstate \-
262288
\-\[aq]/sys/devices/system/cpu/cpufreq/boost\[aq].
263289
The setting has global scope.
264290
.TP
265-
\f[B]\-\-max\-turbo\-freq\f[R]
266-
Retrieve the maximum turbo frequency \- the highest frequency a single
267-
CPU can run on.
268-
Also known as max 1\-core turbo or P01.
269-
The supported mechanisms are: \[aq]msr\[aq], \[aq]cppc\[aq].
270-
.RS
271-
.PP
272-
The \[aq]msr\[aq] mechanism reads MSR_HWP_CAPABILITIES (0x771), bits 7:0
273-
if hardware power management is enabled, otherwise reads
274-
MSR_TURBO_RATIO_LIMIT (0x1AD), bits 7:0.
275-
.PP
276-
The \[aq]cppc\[aq] mechanism reads
277-
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/highest_freq\[aq].
278-
If unavailable, on non\-Intel platforms the frequency is calculated as
279-
\[dq]base_freq * highest_perf / nominal_perf\[dq] using values from:
280-
base_freq:
281-
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_freq\[aq],
282-
highest_perf:
283-
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/highest_perf\[aq],
284-
nominal_perf:
285-
\[aq]/sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_perf\[aq].
286-
.RE
287-
.TP
288-
\f[B]\-\-hwp\f[R]
289-
Check if hardware power management is enabled.
290-
When enabled, CPUs can scale their frequency automatically without OS
291-
involvement.
292-
Mechanism: \[aq]msr\[aq], reads MSR_PM_ENABLE (0x770), bit 0.
293-
This setting has global scope.
294-
.TP
295291
\f[B]\-\-epp\f[R]
296292
Retrieve EPP (Energy Performance Preference) using \[aq]sysfs\[aq]
297293
(preferred) or \[aq]msr\[aq] mechanisms.
@@ -390,22 +386,6 @@ frequency.
390386
Regardless of the \[aq]\-\-mechanisms\[aq] option, all available
391387
mechanisms are tried to resolve these special values to the actual base
392388
frequency.
393-
\f[B]Pm\f[R] Minimum CPU operating frequency (see
394-
\[aq]\-\-min\-oper\-freq\[aq]).
395-
Regardless of the \[aq]\-\-mechanisms\[aq] option, the \[aq]msr\[aq]
396-
mechanism is always used to resolve these special values to the actual
397-
minimum CPU operating frequency.
398-
.PP
399-
Note, on some systems \[aq]Pm\[aq] is lower than \[aq]Pn\[aq].
400-
For example, \[aq]Pm\[aq] may be 500MHz, while \[aq]Pn\[aq] may be
401-
800MHz.
402-
On such systems, Linux may use \[aq]Pn\[aq] as the minimum supported
403-
frequency limit.
404-
From Linux\[aq]s perspective, the minimum supported frequency is 800MHz,
405-
not 500MHz.
406-
In this case, using \[aq]\-\-min\-freq 500MHz \-\-mechanisms sysfs\[aq]
407-
will fail, while \[aq]\-\-min\-freq 500MHz \-\-mechanisms msr\[aq] will
408-
succeed.
409389
.RE
410390
.TP
411391
\f[B]\-\-max\-freq\f[R] \f[I]MAX_FREQ\f[R]

pepctools/_Pepc.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
from pepclibs.helperlibs.ProcessManager import ProcessManagerType
3939
from pepclibs.PropsTypes import PropertyTypedDict
4040

41-
_VERSION: Final[str] = "1.6.12"
41+
_VERSION: Final[str] = "1.6.13"
4242
TOOLNAME: Final[str] = "pepc"
4343

4444
_LOG = Logging.getLogger(f"{Logging.MAIN_LOGGER_NAME}.pepc").configure(prefix=TOOLNAME)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "pepc"
3-
version = "1.6.12"
3+
version = "1.6.13"
44
description = "A tool for configuring power and performance aspects of a Linux system."
55
authors = [
66
{ name = "Artem Bityutskiy", email = "dedekind@gmail.com" }

rpm/pepc.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
%bcond_without tests
22

33
Name: pepc
4-
Version: 1.6.12
4+
Version: 1.6.13
55
Release: 1%{?dist}
66
Summary: Power, Energy, and Performance configuration tool
77

0 commit comments

Comments
 (0)