From an article on phoronix about Linux Developers Ponder Decade-Old Decision To Disable PCI Runtime Power Management By Default,
the comments section has some useful remarks about power management and tuning.
The kernel has some documentation: sysfs devices power.
An initial scan:
$ grep "" /sys/devices/*/power/control
/sys/devices/LNXSYSTM:00/power/control:auto
/sys/devices/breakpoint/power/control:auto
/sys/devices/cpu/power/control:auto
/sys/devices/cstate_core/power/control:auto
/sys/devices/cstate_pkg/power/control:auto
/sys/devices/intel_pt/power/control:auto
/sys/devices/kprobe/power/control:auto
/sys/devices/msr/power/control:auto
/sys/devices/pci0000:00/power/control:auto
/sys/devices/platform/power/control:auto
/sys/devices/pnp0/power/control:auto
/sys/devices/power/power/control:auto
/sys/devices/software/power/control:auto
/sys/devices/tracepoint/power/control:auto
/sys/devices/uncore_arb/power/control:auto
/sys/devices/uncore_cbox_0/power/control:auto
/sys/devices/uncore_cbox_1/power/control:auto
/sys/devices/uncore_cbox_2/power/control:auto
/sys/devices/uncore_cbox_3/power/control:auto
/sys/devices/uncore_imc/power/control:auto
/sys/devices/uprobe/power/control:auto
Another way:
$ find /sys/devices -iname control -exec grep -H "on" \{\} \; | sort
/sys/devices/pci0000:00/0000:00:00.0/power/control:on
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/power/control:on
/sys/devices/pci0000:00/0000:00:01.1/0000:02:00.0/power/control:on
/sys/devices/pci0000:00/0000:00:01.2/0000:03:00.0/power/control:on
/sys/devices/pci0000:00/0000:00:14.0/power/control:on
/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/power/control:on
/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/power/control:on
/sys/devices/pci0000:00/0000:00:14.2/power/control:on
/sys/devices/pci0000:00/0000:00:1c.1/0000:05:00.0/power/control:on
/sys/devices/pci0000:00/0000:00:1c.2/0000:06:00.0/power/control:on
/sys/devices/pci0000:00/0000:00:1c.4/0000:07:00.0/0000:08:01.0/power/control:on
/sys/devices/pci0000:00/0000:00:1c.4/0000:07:00.0/0000:08:04.0/power/control:on
/sys/devices/pci0000:00/0000:00:1c.4/power/control:on
/sys/devices/pci0000:00/0000:00:1f.0/power/control:on
/sys/devices/pci0000:00/0000:00:1f.2/power/control:on
/sys/devices/pci0000:00/0000:00:1f.6/power/control:on
/sys/devices/system/cpu/smt/control:on
Install some utilities:
$ sudo apt install powertop cpufreqd cpufrequtils
With some results:
$ sudo powertop --auto-tune
modprobe cpufreq_stats failedLoaded 0 prior measurements
RAPL device for cpu 0
RAPL Using PowerCap Sysfs : Domain Mask 7
RAPL device for cpu 0
RAPL Using PowerCap Sysfs : Domain Mask 7
Devfreq not enabled
glob returned GLOB_ABORTED
Leaving PowerTOP
$ find /sys/devices -iname control -exec grep -H "on" \{\} \; | sort
/sys/devices/system/cpu/smt/control:on
$ grep "" /sys/devices/*/power/control
/sys/devices/LNXSYSTM:00/power/control:auto
/sys/devices/breakpoint/power/control:auto
/sys/devices/cpu/power/control:auto
/sys/devices/cstate_core/power/control:auto
/sys/devices/cstate_pkg/power/control:auto
/sys/devices/intel_pt/power/control:auto
/sys/devices/kprobe/power/control:auto
/sys/devices/msr/power/control:auto
/sys/devices/pci0000:00/power/control:auto
/sys/devices/platform/power/control:auto
/sys/devices/pnp0/power/control:auto
/sys/devices/power/power/control:auto
/sys/devices/software/power/control:auto
/sys/devices/tracepoint/power/control:auto
/sys/devices/uncore_arb/power/control:auto
/sys/devices/uncore_cbox_0/power/control:auto
/sys/devices/uncore_cbox_1/power/control:auto
/sys/devices/uncore_cbox_2/power/control:auto
/sys/devices/uncore_cbox_3/power/control:auto
/sys/devices/uncore_imc/power/control:auto
/sys/devices/uprobe/power/control:auto
2021/05/15 - on a different system, an interesting command which might be useful on the above for troubleshooting (this output isn't very informative):
# cpupower frequency-info
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: Cannot determine or is not supported.
hardware limits: 800 MHz - 8.30 GHz
available cpufreq governors: performance powersave
current policy: frequency should be within 8.30 GHz and 8.30 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency: Unable to call hardware
current CPU frequency: 3.94 GHz (asserted by call to kernel)
boost state support:
Supported: yes
Active: yes