Announcement

Collapse
No announcement yet.

Linux Gets Fix For AMD Zen 3 CPU Frequency Handling Stemming From 8 Year Old Workaround

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

  • Linux Gets Fix For AMD Zen 3 CPU Frequency Handling Stemming From 8 Year Old Workaround

    Phoronix: Linux Gets Fix For AMD Zen 3 CPU Frequency Handling Stemming From 8 Year Old Workaround

    Since 2012 there has been a quirk in the Linux kernel to disable/override using ACPI _PSD data on all AMD processors as a workaround in turn for Windows-specific behavior that clashes with the semantics of the Linux ACPI CPUFreq driver for CPU frequency scaling. With AMD Zen 3 this quirk is no longer needed to behave correctly and thus Linux 5.10 is going to drop this eight year old quirk on Zen 3 and newer...

    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
    I always wondered what that line in the kernel logs about overriding _PSD data meant... now I know.

    Comment


    • #3
      "zen-again"...what if I want to revert and try the old way is there a kernel boot option ?

      Comment


      • #4
        Originally posted by onlyLinuxLuvUBack View Post
        "zen-again"...what if I want to revert and try the old way is there a kernel boot option ?
        This change only affects Zen 3, so Ryzen 5000 series. As these processors are unreleased, there's no old way to go back to.

        Comment


        • #5
          Originally posted by QwertyChouskie View Post

          This change only affects Zen 3, so Ryzen 5000 series. As these processors are unreleased, there's no old way to go back to.
          The change also works with zen1+2, amd most likey just validated it on the zen3 reference bios. I didn't notice any slowdowns or speedups with it though.

          Comment


          • #6
            Originally posted by mlau View Post

            The change also works with zen1+2, amd most likey just validated it on the zen3 reference bios. I didn't notice any slowdowns or speedups with it though.
            Interesting, have you noticed any changes to the frequency range? My Zen 2 seems to have a minimum of 2200 MHz which seems ridiculously high. It would be great if the minimum could go lower.

            I've noticed that in boost states, it does go lower than 2200 MHz which is weird behaviour.

            Comment


            • #7
              My Zen processor (1700) has a minimum frequency of 1200MHz while under Linux. With Windows it's 1550MHz I believe. If I check the frequency tables under Linux, it also states a 1550MHz speed minimum. Always found that odd.

              Comment


              • #8
                All AMD processors has affected by this limitation? Will this fix be available for the previous AMD CPUs?

                Comment


                • #9
                  Look at this article. A patch for newer AMD CPUs excluding the other ones because no reason.
                  https://www.phoronix.com/scan.php?pa...-CPUFreq-Quirk

                  Since 2012 there has been a quirk in the Linux kernel to disable/override using ACPI _PSD data on all AMD processors as a workaround in turn for Windows-specific behavior that clashes with the semantics of the Linux ACPI CPUFreq driver for CPU frequency scaling. With AMD Zen 3 this quirk is no longer needed to behave correctly and thus Linux 5.10 is going to drop this eight year old quirk on Zen 3 and newer.

                  The change since 2012 in the Linux kernel for AMD CPUs has overrode the ACPI _PSD table supplied by the BIOS. But now for Family 19h / Zen 3, the table accurately reports the P-state dependency of CPU cores. That correct table is needed for proper CPU frequency control with the new processors and thus the new kernel will stop overriding it so it can be used by ACPI CPUfreq for its frequency handling on the shiny new CPUs.

                  This change was sent in as part of additional power management updates for the Linux 5.10 kernel.

                  Given that it's a "fix" and amounts to just changing around one line of code (only applying the override for CPUs less than Family 19h), it will hopefully be back-ported quickly to stable kernel series ahead of the AMD Ryzen 5000 series beginning to ship in early November.

                  Comment

                  Working...
                  X