On a small form factor PC with an i5-9500, Debian 12, 6.2.16 kernel, running Proxmox, powertop shows the following idle stats:

PowerTOP 2.14     Overview   Idle stats   Frequency stats   Device stats   Tunables   WakeUp


           Pkg(HW)  |            Core(HW) |            CPU(OS) 0
                    |                     | C0 active   2.8%
                    |                     | POLL        0.0%    0.0 ms
                    |                     | C1          1.1%    0.4 ms
C2 (pc2)    7.2%    |                     |
C3 (pc3)    5.5%    | C3 (cc3)    0.0%    | C3          0.1%    0.1 ms
C6 (pc6)    1.5%    | C6 (cc6)    1.9%    | C6          2.2%    0.6 ms
C7 (pc7)   75.2%    | C7 (cc7)   92.8%    | C7s         0.0%    0.0 ms
C8 (pc8)    0.0%    |                     | C8         21.5%    2.5 ms
C9 (pc9)    0.0%    |                     | C9          0.0%    0.0 ms
C10 (pc10)  0.0%    |                     |
                    |                     | C10        72.8%   12.5 ms
                    |                     | C1E         0.4%    0.2 ms

                    |            Core(HW) |            CPU(OS) 1
                    |                     | C0 active   1.4%
                    |                     | POLL        0.0%    0.0 ms
                    |                     | C1          0.7%    0.9 ms
                    |                     |
                    | C3 (cc3)    0.1%    | C3          0.1%    0.2 ms
                    | C6 (cc6)    1.0%    | C6          1.1%    0.8 ms
                    | C7 (cc7)   96.3%    | C7s         0.0%    0.0 ms
                    |                     | C8         18.9%    2.9 ms
                    |                     | C9          0.0%    0.0 ms
                    |                     |
                    |                     | C10        78.3%   24.8 ms
                    |                     | C1E         0.0%    0.0 ms
...

On a custom-built server with an i5-13500, Asus Pro WS W680M-ACE SE motherboard, Unraid (which uses Slackware), 6.1.38 kernel, it shows the following output:

PowerTOP 2.15     Overview   Idle stats   Frequency stats   Device stats   Tunables   WakeUp


           Pkg(HW)  |            Core(HW) |            CPU(OS) 0   CPU(OS) 1
                    |                     | C0 active   5.9%        0.9%
                    |                     | POLL        0.1%    0.0 ms  0.0%    0.0 ms
                    |                     | C1_ACPI    14.2%    0.2 ms  1.0%    0.1 ms
C2 (pc2)    0.0%    |                     | C2_ACPI    39.2%    0.8 ms 27.0%    0.9 ms
C3 (pc3)    0.0%    | C3 (cc3)    0.0%    | C3_ACPI    33.6%    1.2 ms 69.7%    3.0 ms
C6 (pc6)    0.0%    | C6 (cc6)    1.1%    |
C7 (pc7)    0.0%    | C7 (cc7)    0.0%    |
C8 (pc8)    0.0%    |                     |
C9 (pc9)    0.0%    |                     |
C10 (pc10)  0.0%    |                     |

                    |            Core(HW) |            CPU(OS) 2   CPU(OS) 3
                    |                     | C0 active  10.4%        0.5%
                    |                     | POLL        0.0%    0.0 ms  0.0%    0.0 ms
                    |                     | C1_ACPI    17.4%    0.2 ms  0.4%    0.2 ms
                    |                     | C2_ACPI    14.3%    0.8 ms  4.9%    0.6 ms
                    | C3 (cc3)    0.0%    | C3_ACPI    41.8%    5.4 ms 93.5%    5.5 ms
                    | C6 (cc6)    5.9%    |
                    | C7 (cc7)   26.7%    |
                    |                     |
                    |                     |
                    |                     |

                    |            Core(HW) |            CPU(OS) 4   CPU(OS) 5
                    |                     | C0 active  11.7%        0.2%
                    |                     | POLL        0.0%    0.1 ms  0.0%    0.0 ms
                    |                     | C1_ACPI    19.0%    0.1 ms  0.0%    0.0 ms
                    |                     | C2_ACPI    11.3%    0.7 ms  0.0%    0.0 ms
                    | C3 (cc3)    0.0%    | C3_ACPI    39.6%    7.7 ms 99.6%    7.0 ms
                    | C6 (cc6)    1.3%    |
                    | C7 (cc7)   25.4%    |
...

Both systems have C-states enabled in the BIOS.

I have a few questions I’m hoping someone can help with:

  • Why does the older system show more C-states in the right-most “CPU(OS)” column?
  • What does it mean when they’re suffixed with “_ACPI” like in the output from the new system?
  • How do I debug the new system not hitting any CPU package C-states?

I can’t find any documentation about this, neither on the man page nor on Intel’s site (the official powertop URL https://01.org/powertop doesn’t go anywhere useful any more).

Thanks!

  • @rotopenguin@infosec.pub
    link
    fedilink
    English
    28 months ago

    It might be that the newer system has a piece of hardware that secretly blocks out higher C-states. I had that with Intel VST/Raid on my Raptor Lake Laptop. That’s probably not so big a deal on a server that you were never going to fold closed and tuck in a backpack.

    • @danOPA
      link
      18 months ago

      I want to save power on my server too! I’ve got solar power, but saving power on my servers means I can use that power for other things.

  • @danOPA
    link
    28 months ago

    This is the reply I got from the maintainer of powertop about the output from the new system (https://github.com/fenrus75/powertop/issues/140):

    it means your kernel does not have intel_idle support for your CPU … which is unusually unless you’re running an older kernel on newer hardware

    needs some more investigation I guess.