Announcement

Collapse
No announcement yet.

Linux 6.1-rc7 Makes It Easier To Manage The AMD P-State Driver

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linux 6.1-rc7 Makes It Easier To Manage The AMD P-State Driver

    Phoronix: Linux 6.1-rc7 Makes It Easier To Manage The AMD P-State Driver

    With the Linux 6.1-rc7 kernel set to be released later today, it will become easier making use of the AMD P-State driver for that enhanced CPU frequency scaling driver intended for Zen 2 and newer EPYC/Ryzen platforms that make use of ACPI CPPC...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    AMD isn't yet encouraging the amd_pstate driver to be used by default but the plan for that is to happen once AMD P-State EPP is ready and merged. The AMD P-State EPP code should resolve some known performance issues with the current amd_pstate code.​
    Now I'm confused...

    I thought "amd-pstate-epp” was a completely new driver & thus mutually exclusive from "amd-pstate"?

    And whereas "amd-pstate" still defaults to the "schedutil" governor (unfortunately), "amd-pstate-epp" doesn't even offer that broken-by-design governor, similar to the "intel_pstate" CPU driver.

    (Though Intel users still have the option of downgrading their Linux systems with "schedutil" if they so wish by booting with the "intel_pstate=passive" kernel parameter; would be good to know if that is also the case with "amd-pstate-epp".)

    Comment


    • #3
      Originally posted by Linuxxx View Post

      Now I'm confused...

      I thought "amd-pstate-epp” was a completely new driver & thus mutually exclusive from "amd-pstate"?

      And whereas "amd-pstate" still defaults to the "schedutil" governor (unfortunately), "amd-pstate-epp" doesn't even offer that broken-by-design governor, similar to the "intel_pstate" CPU driver.

      (Though Intel users still have the option of downgrading their Linux systems with "schedutil" if they so wish by booting with the "intel_pstate=passive" kernel parameter; would be good to know if that is also the case with "amd-pstate-epp".)
      "amd-pstate" is for earlier than Zen 2 and "amd-pstate-epp" is for Zen 2 and later since that's when CPPC was introduced for AMD processors. For the Layman, they're the same driver. For the technically inclined, they're different modes of the same driver.

      You'd use "amd_pstate=passive" for the schedutil way and "amd_pstate=active" for the epp/CPPC way. I assume that active falls back to passive on unsupported systems.

      Comment


      • #4
        Hi,

        Can anybody give me some directions in understanding if cppc is available on my system?

        I have a r9 5900x on an asus ROG Strix x590-F gaming, I have CPPC enabled in the bios, but /proc/cpuinfo shows no cppc flag (Archlinux standard kernel 6.0.10):
        Code:
        > cat /proc/cpuinfo | grep cppc
        however, CPPC is enabled in the kernel:
        Code:
        > zgrep  CPPC /proc/config.gz
        CONFIG_ACPI_CPPC_LIB=y
        and I see the CPPC registers exposed via sysfs( https://www.kernel.org/doc/html/late...ppc_sysfs.html) :
        Code:
        > ll /sys/devices/system/cpu/cpu0/acpi_cppc/
        total 0
        -r--r--r-- 1 root root 4096 Nov 27 15:07 feedback_ctrs
        -r--r--r-- 1 root root 4096 Nov 27 15:07 highest_perf
        -r--r--r-- 1 root root 4096 Nov 27 15:07 lowest_freq
        -r--r--r-- 1 root root 4096 Nov 27 15:07 lowest_nonlinear_perf
        -r--r--r-- 1 root root 4096 Nov 27 15:07 lowest_perf
        -r--r--r-- 1 root root 4096 Nov 27 15:07 nominal_freq
        -r--r--r-- 1 root root 4096 Nov 27 15:07 nominal_perf
        -r--r--r-- 1 root root 4096 Nov 27 15:07 reference_perf
        -r--r--r-- 1 root root 4096 Nov 27 15:07 wraparound_time

        Comment


        • #5
          Originally posted by skeevy420 View Post

          "amd-pstate" is for earlier than Zen 2 and "amd-pstate-epp" is for Zen 2 and later since that's when CPPC was introduced for AMD processors. For the Layman, they're the same driver. For the technically inclined, they're different modes of the same driver.

          You'd use "amd_pstate=passive" for the schedutil way and "amd_pstate=active" for the epp/CPPC way. I assume that active falls back to passive on unsupported systems.
          Sorry, but no, you got this wrong.
          Both drivers require CPPC:

          Currently, amd-pstate supports basic frequency control function according to kernel governors on some of the Zen2 and Zen3 processors​.

          Comment


          • #6
            Originally posted by Grinness View Post
            Hi,

            Can anybody give me some directions in understanding if cppc is available on my system?

            I have a r9 5900x on an asus ROG Strix x590-F gaming, I have CPPC enabled in the bios, but /proc/cpuinfo shows no cppc flag (Archlinux standard kernel 6.0.10):
            Apparently cppc flag isn't available on some Zen 3 processors like 5900X. But supposedly should be on more Zen 4 ones like 7950X. But besides the flag (that indidicates existence of certain register), you can also check this:

            * Install acpica-tools.
            * Copy SSDT tables:
            Code:
            sudo cp /sys/firmware/acpi/tables/SSDT* .
            chown $USER:$USER SSDT*
            iasl -d SSDT*
            rg CPC *.dsl
            That should produce a bunch of entries like this:

            Code:
            Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
            I have same 5900X and can see the above.

            I assume 5900X is the case that documentation refers to as using "shared mem" solution for this.
            Last edited by shmerl; 27 November 2022, 02:04 PM.

            Comment


            • #7
              I thought these enable/disable options were put in the kernel ages ago, I guess only the passive option is new

              Comment


              • #8
                Originally posted by Linuxxx View Post

                Now I'm confused...

                I thought "amd-pstate-epp” was a completely new driver & thus mutually exclusive from "amd-pstate"?

                And whereas "amd-pstate" still defaults to the "schedutil" governor (unfortunately), "amd-pstate-epp" doesn't even offer that broken-by-design governor, similar to the "intel_pstate" CPU driver.

                (Though Intel users still have the option of downgrading their Linux systems with "schedutil" if they so wish by booting with the "intel_pstate=passive" kernel parameter; would be good to know if that is also the case with "amd-pstate-epp".)
                TL;DR: after amd-pstate-epp is merged, the whole thing will behave exactly the same as intel_pstate does.

                Comment

                Working...
                X