Announcement

Collapse
No announcement yet.

ZenStates Allows Adjusting Zen P-States, Other Tweaking Under Linux

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

  • #11
    Originally posted by Otus View Post
    I guess this is only really useful for X models which have turbo/XFR frequencies higher than you can reach on all cores?

    Or has anyone tried downclocking/volting the idle state further?
    It's useful for people who have better binned Ryzen that can't be overclocked normally (increase of vcore offset = stuck in P2 at 1.55Ghz for non X and 2.20Ghz for X), so you OC in software with Linux instead.

    In my side, because I use XEN, I did patch grub and xen to update the pstates there instead, before the OS load. so it add Windows compatibility for bypassing that bug and allow the fix to work even if your using an hypervisor (Xen disable MSR acces)
    Last edited by RavFX; 23 October 2017, 01:02 AM.

    Comment


    • #12
      gsedej Yes, you can use 'cpupower monitor' to see if what frequencies each core in your Ryzen CPU is running at. My 1700 runs ~1550 - 3750 depending on the load. I compiled my own kernel, 4.12, and then compiled cpupower from the kernel/tools directory.

      artivision I'd love something for undervolting Intel laptops too.

      Comment


      • #13
        Originally posted by xeekei View Post
        This is great. My 1600X tops out at 3.9 when doing regular overclocking, which means I lose single-core performance. XFR won't work with OC so my single-core boost of 4.1 gets disabled.

        With P-state overclocking I can fix that.
        Hmm.. I don't think this utility does what you want. When I change P0 on my 1700 using ./zenstates.py -p 0 -f 78 XFR and turbo boost no longer work for individual cores. I went up to ./zenstates.py -p 0 -f 83 to get:

        P0 - Enabled - FID = 83 - DID = 8 - VID = 3A - Ratio = 32.75 - vCore = 1.18750
        P1 - Enabled - FID = 87 - DID = A - VID = 50 - Ratio = 27.00 - vCore = 1.05000
        P2 - Enabled - FID = 7C - DID = 10 - VID = 6C - Ratio = 15.50 - vCore = 0.87500
        P3 - Disabled
        P4 - Disabled
        P5 - Disabled
        P6 - Disabled
        P7 - Disabled
        C6 State - Package - Enabled
        C6 State - Core - Enabled

        .. and cpupower monitor shows this for a single threaded task (it should be atleast ~3800 for line 8 with XFR/Boost):

        |Mperf || Idle_Stats
        CPU | C0 | Cx | Freq || POLL | C1 | C2
        0| 4.46| 95.54| 1350|| 0.00| 6.46| 89.17
        1| 0.58| 99.42| 1354|| 0.00| 0.71| 98.73
        2| 0.71| 99.29| 1447|| 0.00| 0.62| 98.72
        3| 0.32| 99.68| 1399|| 0.00| 0.53| 99.17
        4| 0.86| 99.14| 1358|| 0.00| 7.03| 92.16
        5| 0.70| 99.30| 1356|| 0.00| 3.41| 95.94
        6| 0.22| 99.78| 1714|| 0.00| 0.22| 99.56
        7| 1.01| 98.99| 1325|| 0.00| 10.54| 88.51
        8| 99.97| 0.03| 3268|| 0.00| 0.00| 0.00
        9| 0.38| 99.62| 3268|| 0.00| 0.58| 99.07
        10| 0.13| 99.87| 1301|| 0.00| 0.86| 99.01
        11| 0.63| 99.37| 1307|| 0.00| 51.29| 48.12
        12| 0.03| 99.97| 1289|| 0.00| 0.00| 99.96
        13| 0.55| 99.45| 1307|| 0.00| 0.54| 98.92
        14| 0.16| 99.84| 1303|| 0.00| 1.30| 98.56
        15| 0.05| 99.95| 1305|| 0.00| 0.00| 99.95

        Comment


        • #14
          Seams possible for Intel: https://github.com/mihic/linux-intel-undervolt

          Comment


          • #15
            Originally posted by artivision View Post
            Nice.

            Seems like zenstates for Linux will let you OC from Linux, instead of from the BIOS. Preserving XFR and Turbo Boost while OCing probably requires some way of setting P-states for individual cores/CCXs. I'm guessing it's all locked behind the P-state controller we're seeing.

            Comment


            • #16
              Originally posted by audi100quattro View Post

              Hmm.. I don't think this utility does what you want. When I change P0 on my 1700 using ./zenstates.py -p 0 -f 78 XFR and turbo boost no longer work for individual cores. I went up to ./zenstates.py -p 0 -f 83 to get:
              Well atleast for me seems to work pretty ok? Enabled P2 state with python3.6 zenstates.py --enable -p 2 --c6-enable

              While monitoring cpu frequencies with watch cpupower monitor (most of them idling around 1374) Put mprime torture test on all cores and reading got dumped up to 3.899 (Close to my 3.9Ghz overclock with bios) And i guess my idle power consumption dropped about 3-4w according to power meter plugged.

              So ill assume its working at least at some level
              _______________________

              But need to edit myself. Were using 39 multiplier overclock with voltage allready offset etc from uefi. Took the overclock off and now trying to put the p0 state back to max overclock. For some reason system seems to think that Ratio is 21.50 with FID 56 instead it should be 156

              _________________

              Managed to make it work all right. My FID was at wrong value. sudo ./zenstates.py --enable -p0 -f 9C -d 8 -v 2B seems to the job fine
              Last edited by Dehir; 26 November 2017, 08:43 PM.

              Comment


              • #17
                Dehir Do you have functioning XFR/Turbo Boost after using zenstates?

                Comment


                • #18
                  Originally posted by audi100quattro View Post
                  Dehir Do you have functioning XFR/Turbo Boost after using zenstates?
                  Not that i know. Basicly what the zenstate does is enabs p0 state with new values. There are only 3 states default enable which between the cpu scales. Cool feature is that you can add those other 5 states from 7 with this program. As they dont appear atleast for me as default.

                  So what would be cool that there would be some proper script that you can run during bootup which adds all the rest states. For what i understood so far. System doesnt scale between the states at the moment so you basicly need to do it manually. Ideal situation there could be some daemon snooping if there are programs ie games etc open that could prefer higher overclock.

                  If i enable example lower default p-state the cpu can only get to max settings specified under that state. There is some scaling to lower clocks at P0 but still the voltage is the same as far as i know. Trying to add some shortcut the switch between modes. So i can manually set higher clocks when needed example playing. And drop it down for lower clocks example browsing and using youtube etc...

                  Comment


                  • #19
                    I'm really happy with this tool, I wanted to do P-State overclocking on my Asus Strix B350-F, but they removed the option from the UEFI as apparently you can set the voltage too low and brick your mobo. Would have been better that they fix it than just remove the option? Anyway, ZenStates really saved the day.. I used it to find a stable 3.7GHz setting for my R7 1700. I just need to find or create a script that allows it to be applied on every boot now.

                    It's a shame there is no gui, but it's such a simple tool to use if you've got a P-State calculator.

                    I used this one I found on another forum:

                    Comment

                    Working...
                    X