Announcement

Collapse
No announcement yet.

System76 Releases v1.1 Scheduler For Optimizing Linux Desktop/Laptop Responsiveness

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

  • System76 Releases v1.1 Scheduler For Optimizing Linux Desktop/Laptop Responsiveness

    Phoronix: System76 Releases v1.1 Scheduler For Optimizing Linux Desktop/Laptop Responsiveness

    System76 has released a new version of the System76-Scheduler, it's Rust-written CPU scheduler designed to improve desktop responsiveness on their Pop!_OS Linux distribution...

    https://www.phoronix.com/scan.php?pa...-Scheduler-1.1

  • #2
    With the new v1.1 release, the scheduler now sets the kernel preempt mode to "full" on the responsive profile while using "voluntary" on battery power.
    I don't know which kernel version Pop!-OS uses and frankly don't care enough to look it up, but for anyone else on any other 22.04 based distro just a heads-up & PSA:

    Setting "preempt=full" on Ubuntu's standard 5.15-generic Linux kernel will NOT activate full-preemption, but doing so with 5.17-OEM from the official repos will.

    You can check for yourself with the following:
    Code:
    sudo dmesg | grep -i preempt

    Comment


    • #3
      Is it better than ananicy or ananicy-cpp?

      Comment


      • #4
        Originally posted by Linuxxx View Post

        I don't know which kernel version Pop!-OS uses and frankly don't care enough to look it up, but for anyone else on any other 22.04 based distro just a heads-up & PSA:

        Setting "preempt=full" on Ubuntu's standard 5.15-generic Linux kernel will NOT activate full-preemption, but doing so with 5.17-OEM from the official repos will.

        You can check for yourself with the following:
        Code:
        sudo dmesg | grep -i preempt
        It's 5.16 and maybe they don't use the exact build that Ubuntu does? Based on is never exact ... we all know this.

        Comment


        • #5
          I am using the TT-scheduler on my Ubuntu system. It is great for creating a very responsive system that has great performance too. To me it looks like Pop-OS borrowed heavily from that scheduler.
          https://github.com/hamadmarri/TT-CPU-Scheduler

          Comment


          • #6
            Originally posted by arun54321 View Post
            Is it better than ananicy or ananicy-cpp?
            I don't know if it is "better". My understanding is that in addition to static rules, there is a dbus interface to change the priority of process. The pop_shell uses that interface to change on the fly the priority of foreground applications. So if one doesn't pop_shell, Ananicy is probably equivalent.

            Comment


            • #7
              If System76 is doing something, I am always worried.

              Comment


              • #8
                Originally posted by bitterseeds View Post

                It's 5.16 and maybe they don't use the exact build that Ubuntu does? Based on is never exact ... we all know this.
                Since today, we got an update to 5.17.5. And those kernels are System76 specific. This is the complete name of the kernel:
                5.17.5-76051705-generic

                Comment


                • #9
                  Originally posted by FPScholten View Post
                  I am using the TT-scheduler on my Ubuntu system. It is great for creating a very responsive system that has great performance too. To me it looks like Pop-OS borrowed heavily from that scheduler.
                  https://github.com/hamadmarri/TT-CPU-Scheduler
                  its a great one - I have been using it when 5.15. was the most recent kernel. but since xanmod only patches the LTS kernel not the most recent anymore I have dropped it. Hopefully they will change their mind and release a current stable TT-patched kernel again.
                  Last edited by CochainComplex; 05 May 2022, 05:21 AM.

                  Comment


                  • #10
                    I like that the project recognizes that the OS in use is not static and as such the OS scheduler might want to adapt - but I find the name 'scheduler' a bit confusing.
                    For a minute I thought System 76 had written a kernel task scheduler in Rust (which currently isn't really possible). However, this is not a CFS or Deadline replacement. System 76 just flipped the real-time preempt behavior in the kernel configuration and wrote a service to help the kernel to know what is going on while in use. To more dynamically assess what can wait a tick or two and what cannot.
                    I think more of 'system67-scheduler' as the user-space intelligence agency for the linux-kernel. It informs the scheduler on changing circumstances as the OS is being used.

                    At least that is what I understand it does. If any of this is wrong, please do correct me.

                    Comment

                    Working...
                    X