CPUPOWER-MONITOR(1)
โจ CPUPOWER-MONITOR(1) โจ
cpupower Manual ๐ manual page, section 1
๐ NAME ๐
cpupower-monitor โ Report processor frequency and idle statistics โจ
๐ง SYNOPSIS ๐ง
cpupower monitor -l
cpupower monitor [-c][-m <mon1>,[<mon2>,...]] [-i seconds]
cpupower monitor [-c][-m <mon1>,[<mon2>,...]] command
๐ DESCRIPTION ๐
okay so cpupower-monitor is literally your processor's stat diary ๐ It reports topology, frequency, and idle power state stats. You can either hand it a command, which gets forked and then spills its stats when it finishes, or have it print stats periodically. Iconic. ๐
It's giving independent counters ๐ฆ Processor sleep states and frequency get tracked by a bunch of separate counters. Some come from kernel statistics and some are read straight out of hardware registers. Run -l first to see which ones your system supports, bestie ๐ซถ
โจ Options โจ
-lโ Lists every monitor on your system, with extra details for each one ๐- The name in quotation marks, which is what you pass to
-m๐ท๏ธ - How many counters the monitor supports, shown in brackets ๐ข
- How many seconds the counters might overflow after, because of implementation limits โณ
- The name and description of each counter, plus which processor hierarchy levels it covers, shown in square brackets ๐บ๏ธ
[T]โ Thread[C]โ Core[P]โ Processor Package (Socket)[M]โ Machine/Platform wide counter
- The name in quotation marks, which is what you pass to
-m <mon1>,<mon2>,...โ Only show specific monitors. Use the monitor strings you got from-l๐ฏ-i secondsโ Sets the measure interval โฑ๏ธ-cโ Schedules the process on every core before measuring starts and again when it ends ๐โโ๏ธ๐จ This might be needed for theIdle_Statsmonitor when no other MSR based monitor (which has to run on the core being measured) is running in parallel. It wakes the processors up from deeper sleep states so the kernel can re-account its cpuidle (C-state) info before the cpuidle timings get read from sysfs. Super specific, but it matters ๐commandโ Measures the idle and frequency characteristics of any command or workload ๐๏ธโโ๏ธ The executable gets forked, and once it exits, you get the stats gathered since it was forked ๐
๐ MONITOR DESCRIPTIONS ๐
๐ฅ Idle_Stats ๐ฅ
This shows stats from the cpuidle kernel subsystem. The values come from /sys/devices/system/cpu/cpu*/cpuidle/state*/. The kernel updates them every time an idle state is entered or left, so things can be a little inaccurate when cores sit in an idle state at the very start or end of a measurement. Worst case? One core stays idle for the whole measure time and the kernel never updates its idle state usage time. Then you'd see a residency of 0 percent when it was really 100. Kinda tragic ๐ญ
๐ Mperf ๐
The name comes from the aperf/mperf (average and maximum) MSR registers it uses, which show up on recent X86 processors. It shows the average frequency, boost frequencies included ๐ Since mperf stops ticking in every idle state on all recent hardware, it's also used to show C0 (processor is active) and Cx (processor is in any sleep state) times. These counters don't have the inaccuracy problems that Idle_Stats can have โจ Heads up: it may work poorly on Linux-2.6.20 through 2.6.29, because the acpi-cpufreq kernel frequency driver periodically cleared the aperf/mperf registers in those kernels ๐
๐ง Nehalem SandyBridge HaswellExtended ๐ง
These are Intel Core and Package sleep state counters ๐ Threads (hyperthreaded cores) might not be able to enter deeper core states while their sibling is busy. The deepest package sleep states can actually show up as machine/platform wide sleep states, and they can only be entered when every core is idle. For more details, check the Intel manuals listed in the References section ๐
The monitors are named after the CPU family where each sleep state capability first showed up, so they might not match your exact CPU name. For example, an IvyBridge processor has sleep state capabilities that first arrived in the Nehalem and SandyBridge families. So on an IvyBridge chip, you'll get both the Nehalem and SandyBridge sleep state monitors ๐ซ HaswellExtended covers extra package sleep state capabilities that only exist in a specific Haswell (family 0x45), and probably in other future processors too ๐ฎ
๐ธ Fam_12h Fam_14h ๐ธ
These are sleep state counters for AMD laptop and desktop processors (families 12h and 14h) ๐ป The registers are accessed over PCI, so you can still read them while cores are offlined ๐
There's one special counter, NBP1 (North Bridge P1) ๐ It's always 0 or 1, depending on whether the North Bridge P1 power state got entered at least once during the measure time. Entering NBP1 also depends on graphics power management, so this counter can help you check whether the graphics driver's power management is working as expected ๐จ
๐ EXAMPLES ๐
Running cpupower monitor -l might show something like this:
cpupower monitor -l" may show:
Monitor "Mperf" (3 states) - Might overflow after 922000000 s
...
Monitor "Idle_Stats" (3 states) - Might overflow after 4294967295 s
...
Here's a cute one: monitor the scp command and show both the Mperf and Idle_Stats state counter stats, just with the order swapped ๐
cpupower monitor -m "Idle_Stats,Mperf" scp /tmp/test /nfs/tmp
โ ๏ธ Careful, bestie! The typical trick to max out one CPU withcat /dev/zero >/dev/nulldoes NOT work as expected, because the measured output gets redirected to /dev/null ๐cpupower monitor cat /dev/zero >/dev/nullA workaround is to put that line into its own tiny shell script. Hit CTRL-c to terminate the command and get the measure output displayed ๐
๐ REFERENCES ๐
- "BIOS and Kernel Developer's Guide (BKDG) for AMD Family 14h Processors" โ
https://support.amd.com/us/Processor_TechDocs/43170.pdf๐ - "What Is Intelยฎ Turbo Boost Technology?" โ
https://www.intel.com/content/www/us/en/gaming/resources/turbo-boost.htmlโก - "Power Management - Technology Overview" โ
https://cdrdv2.intel.com/v1/dl/getContent/637748๐ - "Intelยฎ 64 and IA-32 Architectures Software Developer's Manual Volume 3B: System Programming Guide" โ
https://www.intel.com/products/processor/manuals๐
๐๏ธ FILES ๐๏ธ
/dev/cpu/*/msr/sys/devices/system/cpu/cpu*/cpuidle/state*/.
๐ SEE ALSO ๐
powertop(8), msr(4), vmstat(8) ๐
๐ฉโ๐ป AUTHORS ๐ฉโ๐ป
Written by Thomas Renninger <trenn@suse.de> ๐ซถ
Nehalem and SandyBridge monitors and command passing are based on turbostat.8 from Len Brown <len.brown@intel.com> ๐
That's the whole tea, bestie! ๐ This page is part of the cpupower Manual, last revised 22/02/2011, and it's got CPUPOWER-MONITOR(1) energy all the way through ๐โจ
๐ฆ where this page comes from
- alpine 3.23: linux-tools-doc 6.19.14-r0 ยท GPL-2.0-only
- alpine 3.24: linux-tools-doc 7.1.5-r0 ยท GPL-2.0-only
- arch rolling: cpupower 7.3.1-1 ยท GPL-2.0-only
- centos-stream 10: kernel-tools 6.12.0-280.el10 ยท ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-2-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR CDDL-1.0) AND ((GPL-2.0-only WITH Linux-syscall-note) OR Linux-OpenIB) AND ((GPL-2.0-only WITH Linux-syscall-note) OR MIT) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR MIT) AND 0BSD AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0) AND BSD-3-Clause AND BSD-3-Clause-Clear AND CC0-1.0 AND GFDL-1.1-no-invariants-or-later AND GPL-1.0-or-later AND (GPL-1.0-or-later OR BSD-3-Clause) AND (GPL-1.0-or-later WITH Linux-syscall-note) AND GPL-2.0-only AND (GPL-2.0-only OR Apache-2.0) AND (GPL-2.0-only OR BSD-2-Clause) AND (GPL-2.0-only OR BSD-3-Clause) AND (GPL-2.0-only OR CDDL-1.0) AND (GPL-2.0-only OR GFDL-1.1-no-invariants-or-later) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-only) AND (GPL-2.0-only WITH Linux-syscall-note) AND GPL-2.0-or-later AND (GPL-2.0-or-later OR BSD-2-Clause) AND (GPL-2.0-or-later OR BSD-3-Clause) AND (GPL-2.0-or-later OR CC-BY-4.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH Linux-syscall-note) AND ISC AND LGPL-2.0-or-later AND (LGPL-2.0-or-later OR BSD-2-Clause) AND (LGPL-2.0-or-later WITH Linux-syscall-note) AND LGPL-2.1-only AND (LGPL-2.1-only OR BSD-2-Clause) AND (LGPL-2.1-only WITH Linux-syscall-note) AND LGPL-2.1-or-later AND (LGPL-2.1-or-later WITH Linux-syscall-note) AND (Linux-OpenIB OR GPL-2.0-only) AND (Linux-OpenIB OR GPL-2.0-only OR BSD-2-Clause) AND Linux-man-pages-copyleft AND MIT AND (MIT OR Apache-2.0) AND (MIT OR GPL-2.0-only) AND (MIT OR GPL-2.0-or-later) AND (MIT OR LGPL-2.1-only) AND (MPL-1.1 OR GPL-2.0-only) AND (X11 OR GPL-2.0-only) AND (X11 OR GPL-2.0-or-later) AND Zlib AND (copyleft-next-0.3.1 OR GPL-2.0-or-later)
- centos-stream 9: kernel-tools 5.14.0-761.el9 ยท ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-2-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR CDDL-1.0) AND ((GPL-2.0-only WITH Linux-syscall-note) OR Linux-OpenIB) AND ((GPL-2.0-only WITH Linux-syscall-note) OR MIT) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR MIT) AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-3-Clause-Clear AND GFDL-1.1-no-invariants-or-later AND GPL-1.0-or-later AND (GPL-1.0-or-later OR BSD-3-Clause) AND (GPL-1.0-or-later WITH Linux-syscall-note) AND GPL-2.0-only AND (GPL-2.0-only OR Apache-2.0) AND (GPL-2.0-only OR BSD-2-Clause) AND (GPL-2.0-only OR BSD-3-Clause) AND (GPL-2.0-only OR CDDL-1.0) AND (GPL-2.0-only OR GFDL-1.1-no-invariants-or-later) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-only) AND (GPL-2.0-only WITH Linux-syscall-note) AND GPL-2.0-or-later AND (GPL-2.0-or-later OR BSD-2-Clause) AND (GPL-2.0-or-later OR BSD-3-Clause) AND (GPL-2.0-or-later OR CC-BY-4.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH Linux-syscall-note) AND ISC AND LGPL-2.0-or-later AND (LGPL-2.0-or-later OR BSD-2-Clause) AND (LGPL-2.0-or-later WITH Linux-syscall-note) AND LGPL-2.1-only AND (LGPL-2.1-only OR BSD-2-Clause) AND (LGPL-2.1-only WITH Linux-syscall-note) AND LGPL-2.1-or-later AND (LGPL-2.1-or-later WITH Linux-syscall-note) AND (Linux-OpenIB OR GPL-2.0-only) AND (Linux-OpenIB OR GPL-2.0-only OR BSD-2-Clause) AND Linux-man-pages-copyleft AND MIT AND (MIT OR GPL-2.0-only) AND (MIT OR GPL-2.0-or-later) AND (MIT OR LGPL-2.1-only) AND (MPL-1.1 OR GPL-2.0-only) AND (X11 OR GPL-2.0-only) AND (X11 OR GPL-2.0-or-later) AND Zlib AND (copyleft-next-0.3.1 OR GPL-2.0-or-later)
- debian trixie: linux-cpupower 6.12.107-1 ยท GPL-2.0-only
- debian trixie: linux-cpupower 6.12.111-1
- debian trixie: linux-cpupower 6.12.113-1 ยท GPL-2.0-only
- debian trixie: linux-cpupower 6.12.115-2 ยท GPL-2.0-only
- fedora 43: kernel-tools 6.17.1-300.fc43 ยท ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-2-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR CDDL-1.0) AND ((GPL-2.0-only WITH Linux-syscall-note) OR Linux-OpenIB) AND ((GPL-2.0-only WITH Linux-syscall-note) OR MIT) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR MIT) AND 0BSD AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0) AND BSD-3-Clause AND BSD-3-Clause-Clear AND CC0-1.0 AND GFDL-1.1-no-invariants-or-later AND GPL-1.0-or-later AND (GPL-1.0-or-later OR BSD-3-Clause) AND (GPL-1.0-or-later WITH Linux-syscall-note) AND GPL-2.0-only AND (GPL-2.0-only OR Apache-2.0) AND (GPL-2.0-only OR BSD-2-Clause) AND (GPL-2.0-only OR BSD-3-Clause) AND (GPL-2.0-only OR CDDL-1.0) AND (GPL-2.0-only OR GFDL-1.1-no-invariants-or-later) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-only) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-or-later) AND (GPL-2.0-only WITH Linux-syscall-note) AND GPL-2.0-or-later AND (GPL-2.0-or-later OR BSD-2-Clause) AND (GPL-2.0-or-later OR BSD-3-Clause) AND (GPL-2.0-or-later OR CC-BY-4.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH Linux-syscall-note) AND ISC AND LGPL-2.0-or-later AND (LGPL-2.0-or-later OR BSD-2-Clause) AND (LGPL-2.0-or-later WITH Linux-syscall-note) AND LGPL-2.1-only AND (LGPL-2.1-only OR BSD-2-Clause) AND (LGPL-2.1-only WITH Linux-syscall-note) AND LGPL-2.1-or-later AND (LGPL-2.1-or-later WITH Linux-syscall-note) AND (Linux-OpenIB OR GPL-2.0-only) AND (Linux-OpenIB OR GPL-2.0-only OR BSD-2-Clause) AND Linux-man-pages-copyleft AND MIT AND (MIT OR Apache-2.0) AND (MIT OR GPL-2.0-only) AND (MIT OR GPL-2.0-or-later) AND (MIT OR LGPL-2.1-only) AND (MPL-1.1 OR GPL-2.0-only) AND (X11 OR GPL-2.0-only) AND (X11 OR GPL-2.0-or-later) AND Zlib AND (copyleft-next-0.3.1 OR GPL-2.0-or-later)
- fedora 43: kernel-tools 7.2.11-100.fc43
- fedora 43: kernel-tools 7.2.14-100.fc43 ยท ((GPL-2.0-only WITH Linux-syscall-note) OR CDDL-1.0) AND ((GPL-2.0-only WITH Linux-syscall-note) OR Linux-OpenIB) AND 0BSD AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-3-Clause-Clear AND CC0-1.0 AND GFDL-1.1-no-invariants-or-later AND GPL-1.0-or-later AND (GPL-1.0-or-later WITH Linux-syscall-note) AND GPL-2.0-only AND (GPL-2.0-only OR CDDL-1.0) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-only) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-or-later) AND (GPL-2.0-only WITH Linux-syscall-note) AND GPL-2.0-or-later AND (GPL-2.0-or-later OR CC-BY-4.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH Linux-syscall-note) AND ISC AND LGPL-2.0-or-later AND (LGPL-2.0-or-later WITH Linux-syscall-note) AND LGPL-2.1-only AND (LGPL-2.1-only WITH Linux-syscall-note) AND LGPL-2.1-or-later AND (LGPL-2.1-or-later WITH Linux-syscall-note) AND (Linux-OpenIB OR GPL-2.0-only) AND (Linux-OpenIB OR GPL-2.0-only OR BSD-2-Clause) AND Linux-man-pages-copyleft AND MIT AND (MPL-1.1 OR GPL-2.0-only) AND (X11 OR GPL-2.0-only) AND (X11 OR GPL-2.0-or-later) AND Zlib AND (copyleft-next-0.3.1 OR GPL-2.0-or-later)
- fedora 43: kernel-tools 7.2.15-100.fc43 ยท ((GPL-2.0-only WITH Linux-syscall-note) OR CDDL-1.0) AND ((GPL-2.0-only WITH Linux-syscall-note) OR Linux-OpenIB) AND 0BSD AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-3-Clause-Clear AND CC0-1.0 AND GFDL-1.1-no-invariants-or-later AND GPL-1.0-or-later AND (GPL-1.0-or-later WITH Linux-syscall-note) AND GPL-2.0-only AND (GPL-2.0-only OR CDDL-1.0) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-only) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-or-later) AND (GPL-2.0-only WITH Linux-syscall-note) AND GPL-2.0-or-later AND (GPL-2.0-or-later OR CC-BY-4.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH Linux-syscall-note) AND ISC AND LGPL-2.0-or-later AND (LGPL-2.0-or-later WITH Linux-syscall-note) AND LGPL-2.1-only AND (LGPL-2.1-only WITH Linux-syscall-note) AND LGPL-2.1-or-later AND (LGPL-2.1-or-later WITH Linux-syscall-note) AND (Linux-OpenIB OR GPL-2.0-only) AND (Linux-OpenIB OR GPL-2.0-only OR BSD-2-Clause) AND Linux-man-pages-copyleft AND MIT AND (MPL-1.1 OR GPL-2.0-only) AND (X11 OR GPL-2.0-only) AND (X11 OR GPL-2.0-or-later) AND Zlib AND (copyleft-next-0.3.1 OR GPL-2.0-or-later)
- fedora 43: kernel-tools 7.2.9-100.fc43
- fedora 44: kernel-tools 6.19.10-300.fc44 ยท ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-2-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR CDDL-1.0) AND ((GPL-2.0-only WITH Linux-syscall-note) OR Linux-OpenIB) AND ((GPL-2.0-only WITH Linux-syscall-note) OR MIT) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR MIT) AND 0BSD AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0) AND BSD-3-Clause AND BSD-3-Clause-Clear AND CC0-1.0 AND GFDL-1.1-no-invariants-or-later AND GPL-1.0-or-later AND (GPL-1.0-or-later OR BSD-3-Clause) AND (GPL-1.0-or-later WITH Linux-syscall-note) AND GPL-2.0-only AND (GPL-2.0-only OR Apache-2.0) AND (GPL-2.0-only OR BSD-2-Clause) AND (GPL-2.0-only OR BSD-3-Clause) AND (GPL-2.0-only OR CDDL-1.0) AND (GPL-2.0-only OR GFDL-1.1-no-invariants-or-later) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-only) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-or-later) AND (GPL-2.0-only WITH Linux-syscall-note) AND GPL-2.0-or-later AND (GPL-2.0-or-later OR BSD-2-Clause) AND (GPL-2.0-or-later OR BSD-3-Clause) AND (GPL-2.0-or-later OR CC-BY-4.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH Linux-syscall-note) AND ISC AND LGPL-2.0-or-later AND (LGPL-2.0-or-later OR BSD-2-Clause) AND (LGPL-2.0-or-later WITH Linux-syscall-note) AND LGPL-2.1-only AND (LGPL-2.1-only OR BSD-2-Clause) AND (LGPL-2.1-only WITH Linux-syscall-note) AND LGPL-2.1-or-later AND (LGPL-2.1-or-later WITH Linux-syscall-note) AND (Linux-OpenIB OR GPL-2.0-only) AND (Linux-OpenIB OR GPL-2.0-only OR BSD-2-Clause) AND Linux-man-pages-copyleft AND MIT AND (MIT OR Apache-2.0) AND (MIT OR GPL-2.0-only) AND (MIT OR GPL-2.0-or-later) AND (MIT OR LGPL-2.1-only) AND (MPL-1.1 OR GPL-2.0-only) AND (X11 OR GPL-2.0-only) AND (X11 OR GPL-2.0-or-later) AND Zlib AND (copyleft-next-0.3.1 OR GPL-2.0-or-later)
- fedora 44: kernel-tools 7.2.11-200.fc44
- fedora 44: kernel-tools 7.2.14-200.fc44 ยท ((GPL-2.0-only WITH Linux-syscall-note) OR CDDL-1.0) AND ((GPL-2.0-only WITH Linux-syscall-note) OR Linux-OpenIB) AND 0BSD AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-3-Clause-Clear AND CC0-1.0 AND GFDL-1.1-no-invariants-or-later AND GPL-1.0-or-later AND (GPL-1.0-or-later WITH Linux-syscall-note) AND GPL-2.0-only AND (GPL-2.0-only OR CDDL-1.0) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-only) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-or-later) AND (GPL-2.0-only WITH Linux-syscall-note) AND GPL-2.0-or-later AND (GPL-2.0-or-later OR CC-BY-4.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH Linux-syscall-note) AND ISC AND LGPL-2.0-or-later AND (LGPL-2.0-or-later WITH Linux-syscall-note) AND LGPL-2.1-only AND (LGPL-2.1-only WITH Linux-syscall-note) AND LGPL-2.1-or-later AND (LGPL-2.1-or-later WITH Linux-syscall-note) AND (Linux-OpenIB OR GPL-2.0-only) AND (Linux-OpenIB OR GPL-2.0-only OR BSD-2-Clause) AND Linux-man-pages-copyleft AND MIT AND (MPL-1.1 OR GPL-2.0-only) AND (X11 OR GPL-2.0-only) AND (X11 OR GPL-2.0-or-later) AND Zlib AND (copyleft-next-0.3.1 OR GPL-2.0-or-later)
- fedora 44: kernel-tools 7.2.15-200.fc44 ยท ((GPL-2.0-only WITH Linux-syscall-note) OR CDDL-1.0) AND ((GPL-2.0-only WITH Linux-syscall-note) OR Linux-OpenIB) AND 0BSD AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-3-Clause-Clear AND CC0-1.0 AND GFDL-1.1-no-invariants-or-later AND GPL-1.0-or-later AND (GPL-1.0-or-later WITH Linux-syscall-note) AND GPL-2.0-only AND (GPL-2.0-only OR CDDL-1.0) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-only) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-or-later) AND (GPL-2.0-only WITH Linux-syscall-note) AND GPL-2.0-or-later AND (GPL-2.0-or-later OR CC-BY-4.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH Linux-syscall-note) AND ISC AND LGPL-2.0-or-later AND (LGPL-2.0-or-later WITH Linux-syscall-note) AND LGPL-2.1-only AND (LGPL-2.1-only WITH Linux-syscall-note) AND LGPL-2.1-or-later AND (LGPL-2.1-or-later WITH Linux-syscall-note) AND (Linux-OpenIB OR GPL-2.0-only) AND (Linux-OpenIB OR GPL-2.0-only OR BSD-2-Clause) AND Linux-man-pages-copyleft AND MIT AND (MPL-1.1 OR GPL-2.0-only) AND (X11 OR GPL-2.0-only) AND (X11 OR GPL-2.0-or-later) AND Zlib AND (copyleft-next-0.3.1 OR GPL-2.0-or-later)
- fedora 44: kernel-tools 7.2.9-201.fc44
- nixos 26.05: cpupower 7.3.1
- nixpkgs unstable: cpupower 7.3.1
- opensuse-leap 16.0: cpupower 6.12.0-160000.3.1 ยท GPL-2.0-only
- opensuse-leap 16.0: cpupower 6.12.0-160000.3.1 ยท GPL-2.0-only
- opensuse-leap 16.0: cpupower 6.12.0-160000.3.1 ยท GPL-2.0-only
- opensuse-leap 16.0: cpupower 6.12.0-160000.3.1 ยท GPL-2.0-only
- ubuntu questing: linux-tools-common 6.17.0-41.41
- ubuntu questing: linux-tools-common 6.17.0-5.5
- ubuntu resolute: linux-tools-common 7.0.0-14.14
- ubuntu resolute: linux-tools-common 7.0.0-38.38
- ubuntu resolute: linux-tools-common 7.0.0-42.42
- ubuntu stonking: linux-tools-common 7.3.0-10.10
- ubuntu stonking: linux-tools-common 7.3.0-9.9
- ๐ girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms