History log of /linux/tools/power/x86/turbostat/ (Results 1 – 25 of 565)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
2c4627c802-Feb-2025 Len Brown <len.brown@intel.com>

tools/power turbostat: version 2025.02.02

Summary of Changes since 2024.11.30:

Fix regression in 2023.11.07 that affinitized forked child
in one-shot mode.

Harden one-shot mode against hotplug onl

tools/power turbostat: version 2025.02.02

Summary of Changes since 2024.11.30:

Fix regression in 2023.11.07 that affinitized forked child
in one-shot mode.

Harden one-shot mode against hotplug online/offline

Enable RAPL SysWatt column by default.

Add initial PTL, CWF platform support.

Harden initial PMT code in response to early use.

Enable first built-in PMT counter: CWF c1e residency

Refuse to run on unsupported platforms without --force,
to encourage updating to a version that supports the system,
and to avoid no-so-useful measurement results.

Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

5ce1e9bb17-Jan-2025 Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>

tools/power turbostat: Add CPU%c1e BIC for CWF

Intel Clearwater Forest report PMT telemetry with GUID 0x14421519, which
can be used to obtain module c1e residency counter of type tcore clock.

Add e

tools/power turbostat: Add CPU%c1e BIC for CWF

Intel Clearwater Forest report PMT telemetry with GUID 0x14421519, which
can be used to obtain module c1e residency counter of type tcore clock.

Add early support for the counter by using heuristic that should work
for the Clearwater Forest platforms.

Signed-off-by: Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

5499b5ac28-Jan-2025 Len Brown <len.brown@intel.com>

tools/power turbostat: Harden one-shot mode against cpu offline

when turbostat interval mode can't migrate to a CPU, it complains,
prints no data, re-initializes with the new CPU configuration
and s

tools/power turbostat: Harden one-shot mode against cpu offline

when turbostat interval mode can't migrate to a CPU, it complains,
prints no data, re-initializes with the new CPU configuration
and starts a new interval.

But this strategy in the face of a CPU hotplug offline during an interval
doesn't help in one-shot mode. When the missing CPU is discovered
at the end of the interval, the forked program has already returned
and there is nothing left for a new interval to measure.

So instead of aborting get_coutners() and delta_cpu() if a missing CPU
is detected, complain, but carry on and output what statistics are
actually present.

Use the same strategy for delta_cpu when aperf:mperf are observed
to have been reset -- complain, but carry on and print data for
the CPUs that are still present.

Interval mode error handling is unchanged.

One-shot mode can now do this:

$ sudo chcpu -e 1 ; sudo ./turbostat --quiet --show PkgWatt,Busy%,CPU chcpu -d 1
CPU 1 enabled
CPU 1 disabled
get_counters: Could not migrate to CPU 1
./turbostat: Counter reset detected
0.036920 sec
CPU Busy% PkgWatt
- 0.00 10.00
0 99.73 10.00
1 0.00
2 91.53
3 16.83

Suggested-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

b32c369727-Jan-2025 Len Brown <len.brown@intel.com>

tools/power turbostat: Fix forked child affinity regression

In "one-shot" mode, turbostat
1. takes a counter snapshot
2. forks and waits for a child
3. takes the end counter snapshot and prints the

tools/power turbostat: Fix forked child affinity regression

In "one-shot" mode, turbostat
1. takes a counter snapshot
2. forks and waits for a child
3. takes the end counter snapshot and prints the result.

But turbostat counter snapshots currently use affinity to travel
around the system so that counter reads are "local", and this
affinity must be cleared between #1 and #2 above.

The offending commit removed that reset that allowed the child
to run on cpu_present_set.

Fix that issue, and improve upon the original by using
cpu_possible_set for the child. This allows the child
to also run on CPUs that hotplug online during its runtime.

Reported-by: Zhang Rui <rui.zhang@intel.com>
Fixes: 7bb3fe27ad4f ("tools/power/turbostat: Obey allowed CPUs during startup")
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

1a202afe17-Jan-2025 Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>

tools/power turbostat: Add tcore clock PMT type

Some PMT counters, for example module c1e residency on Intel Clearwater
Forest, are reported using tcore clock type.

Signed-off-by: Patryk Wlazlyn <p

tools/power turbostat: Add tcore clock PMT type

Some PMT counters, for example module c1e residency on Intel Clearwater
Forest, are reported using tcore clock type.

Signed-off-by: Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

a80e534703-Dec-2024 Len Brown <len.brown@intel.com>

tools/power turbostat: version 2025.01.14

Fix checkpatch whitespace issues since 2024.11.30

Summary of Changes since 2024.11.30:

Enable SysWatt by default.

Add initial PTL, CWF platform support

tools/power turbostat: version 2025.01.14

Fix checkpatch whitespace issues since 2024.11.30

Summary of Changes since 2024.11.30:

Enable SysWatt by default.

Add initial PTL, CWF platform support.

Refuse to run on unsupported platforms without --force
to avoid not-so-useful measurements mistakenly made
using obsolete versions.

Harden initial PMT code in response to early use.

Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

83fbeb9f12-Dec-2024 Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>

tools/power turbostat: Allow adding PMT counters directly by sysfs path

Allow user to add PMT counters by either identifying the source with:
guid=%u,seq=%u
or, since this patch, with direct sysfs

tools/power turbostat: Allow adding PMT counters directly by sysfs path

Allow user to add PMT counters by either identifying the source with:
guid=%u,seq=%u
or, since this patch, with direct sysfs path:
path=%s, for example path=/sys/class/intel_pmt/telem5

In the later case, the guid and sequence number will be infered
by turbostat.

Signed-off-by: Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

16ce467806-Dec-2024 Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>

tools/power turbostat: Allow mapping multiple PMT files with the same GUID

Some platforms may expose multiple telemetry files identified with the
same GUID. Interpreting it correctly, to associate g

tools/power turbostat: Allow mapping multiple PMT files with the same GUID

Some platforms may expose multiple telemetry files identified with the
same GUID. Interpreting it correctly, to associate given counter with a
CPU, core or a package requires more metadata from the user.

Parse and create ordered, linked list of those PMT aggregators, so that
we can identify specific aggregator with GUID + sequence number.

Signed-off-by: Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

4265a86512-Dec-2024 Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>

tools/power turbostat: Add PMT directory iterator helper

PMT directories exposed in sysfs use the following pattern:
telem%u
for example:
telem0, telem2, telem3, ..., telem15, telem16

This nami

tools/power turbostat: Add PMT directory iterator helper

PMT directories exposed in sysfs use the following pattern:
telem%u
for example:
telem0, telem2, telem3, ..., telem15, telem16

This naming scheme preserves the ordering from the PCIe discovery, which
is important to correctly map the telemetry directory to the specific
domain (cpu, core, package etc).

Because readdir() traverses the entries in alphabetical order, causing
for example "telem13" to be traversed before "telem3", it is necessary
to use scandir() with custom compare() callback to preserve the PCIe
ordering.

Signed-off-by: Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

089134cb10-Dec-2024 Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>

tools/power turbostat: Extend PMT identification with a sequence number

When platforms expose multiple PMT aggregators with the same GUID, the
only way to identify them and map to specific domain is

tools/power turbostat: Extend PMT identification with a sequence number

When platforms expose multiple PMT aggregators with the same GUID, the
only way to identify them and map to specific domain is by reading them
in an order they were exposed via PCIe. Intel PMT kernel driver does
keep the same order and numbers the telemetry directories accordingly.

Use GUID and sequence number (order) to uniquely identify PMT
aggregators.

Signed-off-by: Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

34537ddd10-Dec-2024 Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>

tools/power turbostat: Return default value for unmapped PMT domains

When requesting PMT counters with --add command, user may want to skip
specifying values for all the domains (that is, cpu, core,

tools/power turbostat: Return default value for unmapped PMT domains

When requesting PMT counters with --add command, user may want to skip
specifying values for all the domains (that is, cpu, core, package etc).
For the domains that user did not provide information on how to read the
counter, return default value - zero.

Signed-off-by: Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

7c6fee2514-Jan-2025 Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>

tools/power turbostat: Check for non-zero value when MSR probing

For some MSRs, for example, the Platform Energy Counter (RAPL PSYS), it
is required to additionally check for a non-zero value to con

tools/power turbostat: Check for non-zero value when MSR probing

For some MSRs, for example, the Platform Energy Counter (RAPL PSYS), it
is required to additionally check for a non-zero value to confirm that
it is present.

From Intel SDM vol. 4:

Platform Energy Counter (R/O)
This MSR is valid only if both platform vendor hardware
implementation and BIOS enablement support it.
This MSR will read 0 if not valid.

Signed-off-by: Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

1af5baed08-Jan-2025 Zhang Rui <rui.zhang@intel.com>

tools/power turbostat: Enhance turbostat self-performance visibility

Include procfs and sysfs data collection time in the system summary
row of the "usec" column. This is useful for isolating where

tools/power turbostat: Enhance turbostat self-performance visibility

Include procfs and sysfs data collection time in the system summary
row of the "usec" column. This is useful for isolating where the
time goes during turbostat data collection.

Background:

Column "usec" shows
1. the number of microseconds elapsed during counter collection,
including thread migration -- if any, for each CPU row.
2. total elapsed time to collect the counters on all cpus, for the
summary row.
This can be used to check the time cost of a give column. For example,
run below commands separately
turbostat --show usec sleep 1
turbostat --show usec,CoreTmp sleep 1
and the delta in the usec column will tell the time cost for CoreTmp
(Thermal MSR read)

Problem:

Some of the kernel procfs/sysfs accesses are expensive, especially on
high core count systems. "usec" column cannot tell this because it only
includes the time cost of the counters.

Solution:

Leave the per CPU "usec" as it is and modify the summary "usec" to
include the time cost of the procfs/sysfs snapshot.

With it, the "usec" column can be used to get
1. the baseline, e.g.
turbostat --show usec sleep 1
2. the baseline + some per CPU counter cost, e.g.
turbostat --show usec,CoreTmp sleep 1
3. the baseline + some per CPU sysfs cost, e.g.
turbostat --show usec,C1 sleep 1
4. the baseline + /proc/interrupts cost, e.g
turbostat --show usec,IRQ sleep 1

Man-page update is also included.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

debe797c05-Dec-2024 Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>

tools/power turbostat: Add fixed RAPL PSYS divisor for SPR

Intel Sapphire Rapids is an exception and has fixed divisor for RAPL PSYS
counter set to 1.0. Add a platform bit and enable it for SPR.

Re

tools/power turbostat: Add fixed RAPL PSYS divisor for SPR

Intel Sapphire Rapids is an exception and has fixed divisor for RAPL PSYS
counter set to 1.0. Add a platform bit and enable it for SPR.

Reported-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

2f60f03920-Dec-2024 Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>

tools/power turbostat: Fix PMT mmaped file size rounding

This (the old code) is just not how you round up to a page size.
Noticed on a recent Intel platform. Previous ones must have been
reporting s

tools/power turbostat: Fix PMT mmaped file size rounding

This (the old code) is just not how you round up to a page size.
Noticed on a recent Intel platform. Previous ones must have been
reporting sizes already aligned to a page and so the bug was missed when
testing.

Fixes: f0e4ed752fda ("tools/power turbostat: Add early support for PMT counters")
Signed-off-by: Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

4a358ba218-Dec-2024 Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>

tools/power turbostat: Remove SysWatt from DISABLED_BY_DEFAULT

The counter is present on most supporting Intel platforms and provides
useful data to the user. There is no reason to disable the count

tools/power turbostat: Remove SysWatt from DISABLED_BY_DEFAULT

The counter is present on most supporting Intel platforms and provides
useful data to the user. There is no reason to disable the counter by
default.

Signed-off-by: Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

22a8352818-Dec-2024 Len Brown <len.brown@intel.com>

tools/power turbostat: Add an NMI column

Add an NMI column, a proper sub-set of the IRQ column.

It would be preferable if the kernel exported
/sys/kernel/irq/NMI/per_cpu_count.

But since we are al

tools/power turbostat: Add an NMI column

Add an NMI column, a proper sub-set of the IRQ column.

It would be preferable if the kernel exported
/sys/kernel/irq/NMI/per_cpu_count.

But since we are already forced to parse /proc/interrupts,
noticing which row is the NMI is simple enough.

Suggested-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

05c14d8f10-Dec-2024 Len Brown <len.brown@intel.com>

tools/power turbostat: add Busy% to "show idle"

Suggested-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

3d94026a03-Dec-2024 Zhang Rui <rui.zhang@intel.com>

tools/power turbostat: Introduce --force parameter

Turbostat currently exits under the following conditions:
1. When running on non-Intel/AMD/Hygon x86 vendors.
2. When running on Intel models that

tools/power turbostat: Introduce --force parameter

Turbostat currently exits under the following conditions:
1. When running on non-Intel/AMD/Hygon x86 vendors.
2. When running on Intel models that lack specific platform features.

Introduce a new `--force` parameter that allows turbostat to run on
these unsupported platforms with minimal default feature support. This
provides users with the flexibility to gather basic information even on
unsupported systems.

[lenb: updated warning message text]

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

cc63f89e03-Dec-2024 Zhang Rui <rui.zhang@intel.com>

tools/power turbostat: Improve --help output

Improve the `--help` output of turbostat by standardizing the format
and enhancing readability. The following changes are made to ensure
consistency and

tools/power turbostat: Improve --help output

Improve the `--help` output of turbostat by standardizing the format
and enhancing readability. The following changes are made to ensure
consistency and clarity in the help message:
1. Use a consistent pattern for each parameter's help message:
- Display the parameter and its input (if any) on the same line,
separated by a space.
- Provide the detailed description on a separate line.
2. Ensure that the first character of each description is in lower-case.

These changes make the help output more uniform and easier to read,
helping users quickly understand the available options and their usage.

No functional change.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

48c62ba103-Dec-2024 Zhang Rui <rui.zhang@intel.com>

tools/power turbostat: Exit on unsupported Vendors

Turbostat currently supports x86 processors from Intel, AMD, and Hygon.
The behavior of turbostat on CPUs from other vendors has not been
evaluated

tools/power turbostat: Exit on unsupported Vendors

Turbostat currently supports x86 processors from Intel, AMD, and Hygon.
The behavior of turbostat on CPUs from other vendors has not been
evaluated and may lead to incorrect or undefined behavior.

Enhance turbostat to exit by default when running on an unsupported CPU
vendor. This ensures that users are aware that their CPU is not
currently supported by turbostat, guiding them to seek support for their
specific hardware through future patches.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

4133be3903-Dec-2024 Zhang Rui <rui.zhang@intel.com>

tools/power turbostat: Exit on unsupported Intel models

Turbostat requires per-platform enabling for Intel CPU models due to
platform-specific features. When running on unsupported Intel CPU
models,

tools/power turbostat: Exit on unsupported Intel models

Turbostat requires per-platform enabling for Intel CPU models due to
platform-specific features. When running on unsupported Intel CPU
models, turbostat currently operates with limited default features,
which can lead to users unknowingly using an outdated version of the
tool.

Enhance turbostat to exit by default when run on unsupported Intel CPU
models, with a clear message to users, informing them that their CPU
model is not supported and advising them to update to the latest version
of turbostat for full functionality.

[lenb: updated error message wording]

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

9e47f8ad03-Dec-2024 Len Brown <len.brown@intel.com>

tools/power turbostat: update turbostat(8)

Clarify how to get the latest version.

Signed-off-by: Len Brown <len.brown@intel.com>

6b47ed2303-Dec-2024 Zhang Rui <rui.zhang@intel.com>

tools/power turbostat: Add initial support for ClearwaterForest

Add initial support for ClearwaterForest.
It shares the same features with SierraForest.

Signed-off-by: Zhang Rui <rui.zhang@intel.co

tools/power turbostat: Add initial support for ClearwaterForest

Add initial support for ClearwaterForest.
It shares the same features with SierraForest.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

e8a99af603-Dec-2024 Zhang Rui <rui.zhang@intel.com>

tools/power turbostat: Add initial support for PantherLake

Add initial support for PantherLake.
It shares the same features with Lunarlake.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off

tools/power turbostat: Add initial support for PantherLake

Add initial support for PantherLake.
It shares the same features with Lunarlake.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

show more ...

12345678910>>...23