Announcement

Collapse
No announcement yet.

Ondemand governor dramatically slows down mesa perfomance

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

  • #16
    Originally posted by agd5f View Post
    It's not strange. The CPU feeds the GPU. gears doesn't stress the GPU at all. The faster you can feed the GPU, the faster gears will perform. See Kayden's comment.
    thanks for the clarification !

    Comment


    • #17
      With kernel >=3.8 and Mesa 9.2 I got strange lockups (0.5-3s) e.g. when switching windows/desktops in KDE. Disabling tickless mode in kernel did help a small bit. But seems a recent version of Mesa 9.2 mostly fixed this for me (HD 4350).

      Comment


      • #18
        Originally posted by kernelOfTruth View Post
        you guys can try experimenting with the ondemand governor and its trigger values until it ramps up - for me it's 50:

        echo 50 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold


        seems like the CPUs became too powerful for the value of 95 so it stays downclocked all the time

        strangely this affects output of the GPU a lot

        so with the old settings glxgears was between 2600-2900

        now it's between 3800 and roughly 4100 (4500 seems to be the max with performance governor/without throttle)


        playback of youtube videos also significantly improved with this setting

        Thanks for this!!

        Who is this bright guy, that decided to set performance at 95%?! There are a LOT of applications that already demand CPU @ 40%
        Normally, ondemand Cool&Quiet and Speedstep reduce performance to ~25% if not lower. Its no wonder that desktop is slow - thanks to the 95% policy! Maybe 95% are okay for server, but for desktop the best option is to wake up, do the stuff and then stay quiet, instead of expanding timeframe for stuff like window redraw (ie slowing down the animations at 10x). For desktop, interactivity (=presence of power) is more important than latent energy efficiency like this kind.

        Comment


        • #19
          You also have to consider the wakeup latency, if you want the cpu to go to full power every time you move the mouse. The wakeup latency from the lowest C-state can be up to 0.5ms.

          Comment


          • #20
            tweaking ondemand

            I am running the ondemand governor with tweaked settings, because I was aware of this behaviour for a while now. It is a great governor for aggressive power saving with laptops and for people who browse the web and work with office applications. On a desktop with regular heavy work loads and less need for power savings can it be tweaked to be as good as the performance governor while still saving power during idle times:

            --- /etc/sysfs.conf ---
            devices/system/cpu/cpufreq/ondemand/up_threshold = 50
            devices/system/cpu/cpufreq/ondemand/sampling_down_factor = 10

            devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
            devices/system/cpu/cpu1/cpufreq/scaling_governor = ondemand
            devices/system/cpu/cpu2/cpufreq/scaling_governor = ondemand
            devices/system/cpu/cpu3/cpufreq/scaling_governor = ondemand
            --- eof ---

            sysfs.conf is read in a script during boot, which writes these values into /sys/ (aka sysfs).

            What these values do is to lower the threshold for when to increase the CPU frequency and to tenfold the time before it decreases it again.

            I cannot remember the exact default values, but I believe the default threshold is somewhere around 90%-95% of CPU load. This is quite a high threshold and already explains its default behaviour. Lowering it to 50% makes a huge difference alone.

            Hope this helps.

            Edit:
            If really this thread is about how to make glxgears fly and be a nerd then here are a couple more tricks...

            1.) Do not run GNOME, do not run any OpenGL composite managers, but run plain Xfce instead. Better, run a separate X server without any window manager and have it display glxgears alone!

            2.) If you are using a Nvidia graphics card with the proprietary driver and your motherboard/chipset knows MSI then compile your kernel with MSI enabled and load the nvidia kernel module with the option "NVreg_EnableMSI=1".

            These two pushed my glxgears from 12k to 18k (GeForce GTX260). I think I can break the 20k when I recomplile X11, Mesa and glxgears with optimized settings. One day I will do exactly that..
            Last edited by sdack; 05-29-2013, 03:58 PM.

            Comment


            • #21
              Originally posted by sdack View Post

              These two pushed my glxgears from 12k to 18k (GeForce GTX260). I think I can break the 20k when I recomplile X11, Mesa and glxgears with optimized settings. One day I will do exactly that..
              Just make sure you are running benchmarks with actual games; glxgears is not a useful representation of a gaming workload.

              Comment


              • #22
                For what it's worth, I ran glxgears with all three governors on my system and got the lowest score with ondemand at 800fps. With conservative and performance, I got virtually identical numbers in the range of 1200fps... simply incredible. Ondemand seems totally broken.

                Comment


                • #23
                  glxgears is not a benchmark. You can run it back to back with no differing changes and get completely different numbers. Just moving the window to a different spot changes the numbers. It can show that direct rendering is working well enough to run glxgears, but it can't represent performance.

                  I have a 4200 IGP plugged into my TV and a 6850 plugged into 2 desktop monitors (which btw is impossible with catalyst) running in zaphod mode. The 4200 IGP gets higher numbers than the 6850.
                  Last edited by duby229; 05-31-2013, 02:22 PM.

                  Comment


                  • #24
                    Originally posted by duby229 View Post
                    glxgears is not a benchmark. You can run it back to back with no differing changes and get completely different numbers. Just moving the window to a different spot changes the numbers. It can show that direct rendering is working well enough to run glxgears, but it can't represent performance.

                    I have a 4200 IGP plugged into my TV and a 6850 plugged into 2 desktop monitors (which btw is impossible with catalyst) running in zaphod mode. The 4200 IGP gets higher numbers than the 6850.
                    I know it's not a benchmark!!!! And I know you can't compare two different systems by these numbers! And I know that the numbers themselves are not indicative of absolute performance!! I'm just saying that under identical circumstances (same computer, same system load, ie I didn't move the windows around during the sampling) I'm getting better numbers in a RELATIVE manor by changing the governor. I ran the tests multiple times and got the same numbers. That's all I'm saying. And my numbers seem to corroborate the 33-50% increase in performance when switching governor in CPU bound applications. So please don't lecture me on the merits of glxgears.

                    Comment


                    • #25
                      You used glxgears as a benchmark, not me, so don't sass me. Use a valid benchmark. glxgears is not cpu bound, or gpu bound, or memory bound. It really doesnt do much of anything. It -can't- give relative information in same configurations.

                      You posted to a forum for a website that specializes in benchmarking software, PTS, which you ignored completely and used glxgears instead......... And then you affirm that you know glxgears isnt a benchmark, after you used it as a benchmark, despite posting to a forum that specializes in benchmark software......
                      Last edited by duby229; 05-31-2013, 02:55 PM.

                      Comment


                      • #26
                        Catalyst driver Serious Sam 3

                        To solve one the game issues, I had two options.

                        Disable cool and quiet in the bios.

                        Or install on openSUSE, CFU ( CPU Frequency Utility ) and change the setting from on demand to performance.

                        Desktop pc. amd phenom IIX4 HD5750

                        Comment


                        • #27
                          Originally posted by duby229 View Post
                          You used glxgears as a benchmark, not me, so don't sass me. Use a valid benchmark. glxgears is not cpu bound, or gpu bound, or memory bound. It really doesnt do much of anything. It -can't- give relative information in same configurations.

                          You posted to a forum for a website that specializes in benchmarking software, PTS, which you ignored completely and used glxgears instead......... And then you affirm that you know glxgears isnt a benchmark, after you used it as a benchmark, despite posting to a forum that specializes in benchmark software......
                          Look I don't want to start a fight. I just posted the numbers above as information. I ran a PIC code on my machine which cpu and I/O bound. All runs came in around the same numbers. So it appears the under heavy load, they are behaving as expected. But glxgears does tell us that under light load, ondemand is being fishy.

                          Comment


                          • #28
                            glxgears is awesome

                            glxgears is awesome. It is simple and produces numbers fast. It is so simple that it is probably save to say that any tweak, which makes glxgears run faster, helps most other OpenGL applications, too.

                            Comment


                            • #29
                              Originally posted by duby229 View Post
                              I have a 4200 IGP plugged into my TV and a 6850 plugged into 2 desktop monitors (which btw is impossible with catalyst) running in zaphod mode.
                              Does randr provideroffloadsink not work better yet?

                              Comment


                              • #30
                                Originally posted by sdack View Post
                                glxgears is awesome. It is simple and produces numbers fast. It is so simple that it is probably save to say that any tweak, which makes glxgears run faster, helps most other OpenGL applications, too.
                                Glxgears is to see if your OpenGL is working, nothing else! What its developers forgot is to put large "Glxgears is NOT a benchmark" as background...!

                                If you want glxgears that IS benchmark, that would be Jgears.

                                Comment

                                Working...
                                X