Announcement

Collapse
No announcement yet.

CPUFreq's New Scaling Governor Is Coming For Linux 4.7

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

  • CPUFreq's New Scaling Governor Is Coming For Linux 4.7

    Phoronix: CPUFreq's New Scaling Governor Is Coming For Linux 4.7

    The CPUFreq driver for CPU frequency scaling will have a new governor available with the Linux 4.7 kernel that's soon entering development...

    http://www.phoronix.com/scan.php?pag...rnor-Linux-4.7

  • #2
    LTs distros allows the kernel upgrade from official channels?

    Comment


    • #3
      What benefits we will obtain? Improved powersaving?

      Comment


      • #4
        Originally posted by Grayscale View Post
        What benefits we will obtain? Improved powersaving?
        Haven't looked at code quite yet but considering that all this fuzz was spawned over few studies that realized that core usage scaling was suboptimal I would expect that performance impact will be the main thing here. The thing that was discussed on LKML was scaling in heterogenous modes (e.g. CPU having multiple cores that run at different frequencies indipendent of each other and balancing load across them to achieve both performance and powersaving).

        Comment


        • #5
          Originally posted by tpruzina View Post

          Haven't looked at code quite yet but considering that all this fuzz was spawned over few studies that realized that core usage scaling was suboptimal I would expect that performance impact will be the main thing here. The thing that was discussed on LKML was scaling in heterogenous modes (e.g. CPU having multiple cores that run at different frequencies indipendent of each other and balancing load across them to achieve both performance and powersaving).

          From what I understand, the point of the new cpufreq governor is both improved powersaving and improved performance.

          Currently, there is ondemand. I am not sure about the exact details, but IIRC on-demand uses various timers to periodically check how much the CPU is being utilised, and react by changing the CPU frequency accordingly. This can introduce random latencies and delays, if things want to use the CPU very briefly, but ondemand doesn't respond in time, so there is a performance hit, as shown by various benchmarks of different things under ondemand vs performance governors.

          Performance simply uses the max frequency all the time, so it is bad for power saving. Powersave uses the min frequency all the time, so it is bad for performance. Conservative is basically ondemand, but tuned to respond even slower and to keep the cpu at lower freqs a lot more, for additional power saving. This just about sums up the current state of cpufreq.

          The new governor uses new kernel functionality that allows it to actually synchronise itself to the CPU scheduler. This means that instead of having to do periodic checks on the CPU like ondemand does (which has latencies), it can instead get *notifications* straight from the CPU scheduler about when something is about to use the CPU. This means, if a process/thread wants to run, and the scheduler assigns it to a certain CPU core, the scheduler can instantly notify the new cpufreq governor to boost the frequency on that core, so it can happen immediately, without delays. This should result in improved performance over ondemand.

          At least this is my understanding. Kernel experts, please correct me if I am wrong about anything.

          Comment


          • #6
            Originally posted by Azrael5 View Post
            LTs distros allows the kernel upgrade from official channels?

            Ubuntu does. When they release a new version the current LTS gets an updated named HWE (HardWare Enablement) which is basically the kernel and graphics stack (X.org and drivers, DRI libs, etc.) from the new release backported to the LTS release. These have to be installed manually for older installations. New disk images are released as minor version bumps. E.g. Ubuntu 14.04.1 or 14.04.2 might come with 14.10's kernel and graphics stack.

            Comment


            • #7
              Originally posted by tajjada View Post


              From what I understand, the point of the new cpufreq governor is both improved powersaving and improved performance.

              Currently, there is ondemand. I am not sure about the exact details, but IIRC on-demand uses various timers to periodically check how much the CPU is being utilised, and react by changing the CPU frequency accordingly. This can introduce random latencies and delays, if things want to use the CPU very briefly, but ondemand doesn't respond in time, so there is a performance hit, as shown by various benchmarks of different things under ondemand vs performance governors.

              Performance simply uses the max frequency all the time, so it is bad for power saving. Powersave uses the min frequency all the time, so it is bad for performance. Conservative is basically ondemand, but tuned to respond even slower and to keep the cpu at lower freqs a lot more, for additional power saving. This just about sums up the current state of cpufreq.

              The new governor uses new kernel functionality that allows it to actually synchronise itself to the CPU scheduler. This means that instead of having to do periodic checks on the CPU like ondemand does (which has latencies), it can instead get *notifications* straight from the CPU scheduler about when something is about to use the CPU. This means, if a process/thread wants to run, and the scheduler assigns it to a certain CPU core, the scheduler can instantly notify the new cpufreq governor to boost the frequency on that core, so it can happen immediately, without delays. This should result in improved performance over ondemand.

              At least this is my understanding. Kernel experts, please correct me if I am wrong about anything.
              powersaving should come from the idle driver not cpufreq. thats what an intel guy recommended anyway when the new intel idle driver was release?

              Comment

              Working...
              X