<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/tools/power/cpupower/utils, branch linux-6.15.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-08-20T16:35:59Z</updated>
<entry>
<title>pm: cpupower: Fix the snapshot-order of tsc,mperf, clock in mperf_stop()</title>
<updated>2025-08-20T16:35:59Z</updated>
<author>
<name>Gautham R. Shenoy</name>
</author>
<published>2025-06-12T12:23:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=799f898875e6003098c3fff64dfe009e9001f407'/>
<id>urn:sha1:799f898875e6003098c3fff64dfe009e9001f407</id>
<content type='text'>
[ Upstream commit cda7ac8ce7de84cf32a3871ba5f318aa3b79381e ]

In the function mperf_start(), mperf_monitor snapshots the time, tsc
and finally the aperf,mperf MSRs. However, this order of snapshotting
in is reversed in mperf_stop(). As a result, the C0 residency (which
is computed as delta_mperf * 100 / delta_tsc) is under-reported on
CPUs that is 100% busy.

Fix this by snapshotting time, tsc and then aperf,mperf in
mperf_stop() in the same order as in mperf_start().

Link: https://lore.kernel.org/r/20250612122355.19629-2-gautham.shenoy@amd.com
Signed-off-by: Gautham R. Shenoy &lt;gautham.shenoy@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>pm: cpupower: Fix printing of CORE, CPU fields in cpupower-monitor</title>
<updated>2025-08-15T10:16:16Z</updated>
<author>
<name>Gautham R. Shenoy</name>
</author>
<published>2025-06-12T12:23:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4f325ba60800540fc754dc02a6de1b8f543e283a'/>
<id>urn:sha1:4f325ba60800540fc754dc02a6de1b8f543e283a</id>
<content type='text'>
[ Upstream commit 14a3318b4ac8ae0ca2e1132a89de167e1030fbdb ]

After the commit 0014f65e3df0 ("pm: cpupower: remove hard-coded
topology depth values"), "cpupower monitor" output ceased to print the
CORE and the CPU fields on a multi-socket platform.

The reason for this is that the patch changed the behaviour to break
out of the switch-case after printing the PKG details, while prior to
the patch, the CORE and the CPU details would also get printed since
the "if" condition check would pass for any level whose topology depth
was lesser than that of a package.

Fix this ensuring all the details below a desired topology depth are
printed in the cpupower monitor output.

Link: https://lore.kernel.org/r/20250612122355.19629-3-gautham.shenoy@amd.com
Fixes: 0014f65e3df0 ("pm: cpupower: remove hard-coded topology depth values")
Signed-off-by: Gautham R. Shenoy &lt;gautham.shenoy@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>pm: cpupower: remove hard-coded topology depth values</title>
<updated>2025-03-06T20:27:51Z</updated>
<author>
<name>Shuah Khan</name>
</author>
<published>2025-03-05T22:53:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0014f65e3df04ef15df3e8212be7b14fd26a2ef4'/>
<id>urn:sha1:0014f65e3df04ef15df3e8212be7b14fd26a2ef4</id>
<content type='text'>
Remove hard-coded topology depth values and replace them with
defines to improve code readability and maintainability in
cpupower-monitor code.

Link: https://lore.kernel.org/r/20250305225342.19447-3-skhan@linuxfoundation.org
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>pm: cpupower: Fix cmd_monitor() error legs to free cpu_topology</title>
<updated>2025-03-06T20:27:38Z</updated>
<author>
<name>Shuah Khan</name>
</author>
<published>2025-03-05T22:53:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d52d2b311a5a251ddd723d1dac881dc46e8803ab'/>
<id>urn:sha1:d52d2b311a5a251ddd723d1dac881dc46e8803ab</id>
<content type='text'>
cmd_monitor() calls get_cpu_topology() to allocate memory for
cpu topology and fails to release in error legs.

Fix it to call cpu_topology_release() from error legs.

Link: https://lore.kernel.org/r/20250305225342.19447-2-skhan@linuxfoundation.org
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: monitor: Exit with error status if execvp() fail</title>
<updated>2025-02-20T17:38:14Z</updated>
<author>
<name>Yiwei Lin</name>
</author>
<published>2025-02-20T16:38:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=80d3175a7e073fad281bdc5c7e881f46ab806d97'/>
<id>urn:sha1:80d3175a7e073fad281bdc5c7e881f46ab806d97</id>
<content type='text'>
In the case that we give a invalid command to idle_monitor for
monitoring, the execvp() will fail and thus go to the next line.
As a result, we'll see two differnt monitoring output. For
example, running `cpupower monitor -i 5 invalidcmd` which `invalidcmd`
is not executable.

Link: https://lore.kernel.org/r/20250220163846.2765-1-s921975628@gmail.com
Signed-off-by: Yiwei Lin &lt;s921975628@gmail.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: Adjust whitespace for amd-pstate specific prints</title>
<updated>2024-12-20T16:12:07Z</updated>
<author>
<name>Mario Limonciello</name>
</author>
<published>2024-12-18T19:09:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8395d43949790f1671621975730a07c264ef3e6f'/>
<id>urn:sha1:8395d43949790f1671621975730a07c264ef3e6f</id>
<content type='text'>
The amd-pstate section is grouped under boost, which isn't appropriate.

Adjust the indentation so that it is it's own section.

Link: https://lore.kernel.org/r/20241218191144.3440854-8-superm1@kernel.org
Signed-off-by: Mario Limonciello &lt;mario.limonciello@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: Don't fetch maximum latency when EPP is enabled</title>
<updated>2024-12-20T16:12:07Z</updated>
<author>
<name>Mario Limonciello</name>
</author>
<published>2024-12-18T19:09:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=acf71265e4c0289e23ee1b66fc0977478edea9a5'/>
<id>urn:sha1:acf71265e4c0289e23ee1b66fc0977478edea9a5</id>
<content type='text'>
When EPP has been enabled the hardware will autonomously change
frequencies on it's own and thus there is no latency with changing
from the kernel.

Avoid doing the maximum latency check when EPP is found. This will
apply to both amd-pstate and intel-pstate drivers.

Link: https://lore.kernel.org/r/20241218191144.3440854-7-superm1@kernel.org
Signed-off-by: Mario Limonciello &lt;mario.limonciello@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: Add support for showing energy performance preference</title>
<updated>2024-12-20T16:12:07Z</updated>
<author>
<name>Mario Limonciello</name>
</author>
<published>2024-12-18T19:09:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5f567afc283fc9e7c6a34d013c4fc6c5e8d6afae'/>
<id>urn:sha1:5f567afc283fc9e7c6a34d013c4fc6c5e8d6afae</id>
<content type='text'>
The EPP value is useful for characterization of performance. Show
it in cpupower frequency-info output.

Link: https://lore.kernel.org/r/20241218191144.3440854-6-superm1@kernel.org
Signed-off-by: Mario Limonciello &lt;mario.limonciello@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: Don't try to read frequency from hardware when kernel uses aperfmperf</title>
<updated>2024-12-20T16:12:07Z</updated>
<author>
<name>Mario Limonciello</name>
</author>
<published>2024-12-18T19:09:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=26e16174f54d40a3774614c4d43966572ed79dc1'/>
<id>urn:sha1:26e16174f54d40a3774614c4d43966572ed79dc1</id>
<content type='text'>
When the amd-pstate is in use frequency is set by the hardware and
measured by the kernel through using the aperf and mperf registers.

There is no direct call to the hardware to indicate current frequency.

Detect that this feature is in use and skip the check.

Link: https://lore.kernel.org/r/20241218191144.3440854-5-superm1@kernel.org
Signed-off-by: Mario Limonciello &lt;mario.limonciello@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: Add support for amd-pstate preferred core rankings</title>
<updated>2024-12-20T16:12:07Z</updated>
<author>
<name>Mario Limonciello</name>
</author>
<published>2024-12-18T19:09:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d4a2987f96b9f281b07286eeb1d4022054e1ecd'/>
<id>urn:sha1:6d4a2987f96b9f281b07286eeb1d4022054e1ecd</id>
<content type='text'>
The rankings are useful information to determine if the scheduler
is placing tasks appropriately for the hardware.

Link: https://lore.kernel.org/r/20241218191144.3440854-4-superm1@kernel.org
Signed-off-by: Mario Limonciello &lt;mario.limonciello@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
</feed>
