Announcement

Collapse
No announcement yet.

The Linux Kernel's Scheduler Apparently Causing Issues For Google Stadia Game Developers

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

  • #21
    Originally posted by programmerjake View Post

    Userspace syscalls exist: see https://lwn.net/Articles/604515/#vdso
    Nope, vdso is shared mem + userspace code (like a virtual dso), replicating some syscalls (which don't change kernel state). Its more like a userspace helper library for the c-library.

    Comment


    • #22
      Sounds like an opportunity!

      Comment


      • #23
        They should discuss this with Kernel developers. Maybe this is the culprit of stalls during some I/O operations?

        @phoronix

        Con is no longer working on his scheduler, just maintaining it, so I doubt it will ever be mainlined.

        Comment


        • #24
          It would be nice to have a reproducible test case in an actual game. Though I find it suspicious that the SotTR port runs as good as the Windows version.

          Comment


          • #25
            I suspect there probably are some improvements that could be done here considering how the Linux kernel hasn't been used that much for these kinds of real-time jobs. Sort of like how the Windows kernel scheduler isn't as great as Linux is for things like hard real-time in embedded applications, scientific compute loads and server use cases.

            Comment


            • #26
              Originally posted by L_A_G View Post
              I suspect there probably are some improvements that could be done here considering how the Linux kernel hasn't been used that much for these kinds of real-time jobs. Sort of like how the Windows kernel scheduler isn't as great as Linux is for things like hard real-time in embedded applications, scientific compute loads and server use cases.
              Also there has to be questions about round peg square hole. Remember the Linux kernel has futex option.

              Linux to perform well may need spinlocks to be classed as completely wrong with std::mutex and futex options used instead.

              Comment


              • #27
                Google discovers Linux' scheduling is not up to the task? Oh, my!
                If only they would have used Linux to build like an operating system or something, they might have picked up on this earlier. Oh, wait...

                In other news, that's how software is usually written: you make it work and then you look at the performance. The pieces that are not up to the task, are usually you not using the underlying resources properly, not the underlying resources that you used being broken.

                Comment


                • #28
                  Originally posted by betam4x View Post
                  The "developers" complaining of this have absolutely no idea what they are doing. While I don't have access to the code at hand, one need only look at rage 2 running under Wine to determine that an incorrect approach is being taken if they are struggling to hit 60 fps on a native port. Note that Rage 2 runs at more than 100fps under proton depending on your hardware.
                  The "developers" make the same assumptions as everybody else does when moving to Linux, which is to expect Windows behaviour. (Crazy, I know )

                  Also the same "developers" are not aware that Windows Desktop and Windows Server have the scheduler tweaked in different manner, this is: "MS has chosen for you the type of workload the computer is optimized for" and you've got nothing to say on the matter ever.

                  Linux on the other hand comes with a single "default" that is a good compromise, very good for the majority of servers, not always the best choice for desktops, however you can customize as you see fit.

                  Pretty much stadia is server software that requires server-like scaling capabilities but desktop responsivity, no wonder even Google struggles.

                  Schedulers aren't my area of expertise, however out of practical experience, for desktop usage I've found https://liquorix.net/ does a fantastic job with games, and multimedia content.

                  Comment


                  • #29
                    Is it one game per CPU on Stadia?
                    Also Google probably has an engineer that tunes the scheduler for each game.

                    Comment


                    • #30
                      I hope this is extensively analyzed.

                      What about replies from at least Linus Torvalds, Ingo Molnár, Thomas Gleixner, Alan Cox, Paul Davis and Lennart Poettering?

                      Comment

                      Working...
                      X