Announcement

Collapse
No announcement yet.

Benchmarking The Intel P-State, CPUfreq Changes

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

  • Benchmarking The Intel P-State, CPUfreq Changes

    Phoronix: Benchmarking The Intel P-State, CPUfreq Changes

    On Friday there was the controversial news about the Linux "ondemand" cpufreq governor no longer being fit for best performance and power-savings on modern processors. Fortunately, for better handling the CPU frequency stage changes on modern Intel CPUs, Intel recently introduced the new P-State kernel driver...

    http://www.phoronix.com/vr.php?view=MTM3NTI

  • #2
    Could it be that only some specific processors are affected by the performance/ondemand bug ?

    Comment


    • #3
      Interesting, so using P-state powersave mode shouldn't cause performance issues in mesa, while it does if using cpufreq. Can't wait to see the power usage benchmarks.

      Originally posted by wargames View Post
      Could it be that only some specific processors are affected by the performance/ondemand bug ?
      Bug? What bug?

      Comment


      • #4
        Perfomance not the issue

        What you should really measure is %time idle and power consumption. In switching from ondemand to performance, I saw %idle go from ~50% to ~95% (C6-IVB).

        It honestly doesn't make much of a difference when idle (~94% idle to ~99%), but when only one thread is under load, it's a nice improvement.

        Maybe break out your killawatt?

        Comment


        • #5
          I think P state is broken, or devs in Arch Linux broke something. In Powersave cpu is always at the lowest frequency and it's terrible when working. Performance is buggy and after suspend cpu can be constantly at highest frequency… Also (at least in Arch) you have to set manually Performance after every reboot, because it's not remembered as with cpufreq governors.

          I've switched off it and now I'm waiting for fixes…

          Comment


          • #6
            I can usually guess the result of the benchmark before reading the article. If anything big happened the title would reflect it, if nothing much changed it just says like "benchmarking X with Y".

            Comment


            • #7
              Originally posted by Druedain View Post
              I think P state is broken, or devs in Arch Linux broke something. In Powersave cpu is always at the lowest frequency and it's terrible when working. Performance is buggy and after suspend cpu can be constantly at highest frequency… Also (at least in Arch) you have to set manually Performance after every reboot, because it's not remembered as with cpufreq governors.

              I've switched off it and now I'm waiting for fixes…
              Uhm, that's exactly how ACPI cpufreq is supposed to work...

              Comment


              • #8
                Problem with _RADEON_ driver and kernel 3.8+

                Comment


                • #9
                  Originally posted by Druedain View Post
                  I think P state is broken, or devs in Arch Linux broke something. In Powersave cpu is always at the lowest frequency and it's terrible when working. Performance is buggy and after suspend cpu can be constantly at highest frequency… Also (at least in Arch) you have to set manually Performance after every reboot, because it's not remembered as with cpufreq governors.

                  I've switched off it and now I'm waiting for fixes…

                  I can't comment on the suspend isues but the issue of setting it at every boot seems a bit odd. Are you running cpupowerd? If you performance as the default governor in /etc/default/cpupower and enable the cpupowerd service then it should auto-set to performance. Also I doubt the Arch devs broke anything, they dont modify kernels, that being said, p-states COULD be broken in some way.


                  Back onto the article though... I'm running 3.10rc1 on Arch using the P-State governor and quite honestly...it seems to be working. My power usage hasn't gone up, and maybe its thermald or maybe its both P-state and thermald working together but my thermal temps have never been lower and in this laptop the ONLY thing generating heat is pretty much the Intel die since its a Sandy Bridge laptop with no discrete GPU.

                  Comment


                  • #10
                    Originally posted by Ericg View Post
                    Are you running cpupowerd?
                    Or just make a systemd unit file that sets the kernel variables to needed values on each boot, if a static setting is desired.

                    Comment


                    • #11
                      Originally posted by GreatEmerald View Post
                      Or just make a systemd unit file that sets the kernel variables to needed values on each boot, if a static setting is desired.
                      That works too, its just a personal preference for me to use the designated tool rather than hack together a unit file / shell script. But you are right, that would work

                      Comment


                      • #12
                        Originally posted by Pontostroy View Post
                        Problem with _RADEON_ driver and kernel 3.8+
                        Is this with Intel or AMD cpu? Also, are you sure that it's a problem only with 3.8+? IIRC I observed reduced performance with ondemand governor long before 3.8, I'm used to run custom scripts to switch cpu governor and gpu profile between ondemand/low and performance/high depending on whether I need max performance (for games and benchmarks) or not.

                        Probably we need more clever cpu governor that would take into account gpu activity to ensure best performance with OpenGL & OpenCL apps. Though I think the behavior of the ondemand governor can also be improved by tuning its parameters, e.g. the following seems to help on my system (though as I said I'm usually just switching to performance governor, so I didn't test it a lot):

                        Code:
                        echo 60 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
                        This parameter is cpu load (%) that triggers increase of cpu freq, default value is 95%, but according to "cpupower monitor" cpu load per core is simply not reaching this threshold with most opengl apps and r600g for me, due to load balancing between cores etc.

                        Comment


                        • #13
                          Originally posted by Ericg View Post
                          That works too, its just a personal preference for me to use the designated tool rather than hack together a unit file / shell script. But you are right, that would work
                          Well, when using Arch or Gentoo, such unit files shouldn't be much of a problem. You're configuring everything manually, anyway.

                          Comment


                          • #14
                            Originally posted by GreatEmerald View Post
                            Well, when using Arch or Gentoo, such unit files shouldn't be much of a problem. You're configuring everything manually, anyway.
                            True, but I also like being able to go back to the wikis and run off them. So if I start deviating from the wiki's too much then I might forget what I ever did originally haha

                            Comment


                            • #15
                              Originally posted by vadimg View Post
                              Though I think the behavior of the ondemand governor can also be improved by tuning its parameters, e.g. the following seems to help on my system (though as I said I'm usually just switching to performance governor, so I didn't test it a lot):

                              Code:
                              echo 60 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
                              This parameter is cpu load (%) that triggers increase of cpu freq, default value is 95%, but according to "cpupower monitor" cpu load per core is simply not reaching this threshold with most opengl apps and r600g for me, due to load balancing between cores etc.
                              95% does seem too high, honestly. Perhaps they designed it with the expectation that most CPU heavy loads would be hitting 100%.

                              Comment

                              Working...
                              X