Announcement

Collapse
No announcement yet.

Futex2 Proposed In Latest Effort For Linux Kernel Optimization That Can Benefit Gamers

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

  • Futex2 Proposed In Latest Effort For Linux Kernel Optimization That Can Benefit Gamers

    Phoronix: Futex2 Proposed In Latest Effort For Linux Kernel Optimization That Can Benefit Gamers

    Last year Valve in cooperation with consulting firm Collabora published their work on extending the futex system call for more optimal thread pool synchronization with a means of waiting on any of several futexes. This kernel-level work paired with patched user-space for Wine/Proton allows better matching behavior on Windows. It's been months since hearing anything on Valve's futex effort while today a futex2 system call was published for discussion...

    http://www.phoronix.com/scan.php?pag...ystem-Call-RFC

  • #2
    I'm getting flashbacks to https://www.phoronix.com/scan.php?pa...er-Bugs-Stadia

    Comment


    • #3
      So is it a replacement for the previous futex / fsync work or it complements it?

      Comment


      • #4
        Originally posted by bachchain View Post
        Just an FYI...
        https://www.phoronix.com/scan.php?pa...Scheduler-Woes
        Torvalds already personally put that whole misunderstanding to rest.

        Comment


        • #5
          Improvements for playing games or movies on Linux?
          Yes please!

          Comment


          • #6
            It's nice to see this finally close to officially becoming part of the kernel. From my experience FSync tends to be more stable than ESync while still providing that performance boost.

            Comment


            • #7
              For this whole Stadia thing. I just want to say that the Stadia developer wrote test which were measurable faster on Windows than on Linux and even faster on other schedulers on Linux.
              Thinking that Linus knows more than a deterministic test is really foolish.
              The spinlock implementation which was used was an AMD one, and the locking itself was atomic, which Linus got obviously wrong in his answer...
              Or standard C++ atomic calls aren't atomic.

              And I read the whole answer of Linus and the original post.
              Just because he thinks developers should use Mutexes, doesn't mean the kernel shouldn't be optimized for spinlock use cases...

              Comment


              • #8
                Originally posted by davibu View Post
                Thinking that Linus knows more than a deterministic test is really foolish.
                The spinlock implementation which was used was an AMD one, and the locking itself was atomic, which Linus got obviously wrong in his answer...
                How is it deterministic when your threads can be scheduled off cpu at anytime (both while spinning or while in the critical section)? How is it deterministic to randomly call yield() in hopes that this magically communicates to the kernel why it is yielding?

                Userspace isn't able to do a "proper" spinlock implementation because it can't disable interrupts, I'm not sure what makes you think C++ atomics are related to this.

                Comment


                • #9
                  Originally posted by davibu View Post
                  For this whole Stadia thing. I just want to say that the Stadia developer wrote test which were measurable faster on Windows than on Linux and even faster on other schedulers on Linux.
                  is it the only test in universe, or there are other tests with different outcomes?
                  Originally posted by davibu View Post
                  Thinking that Linus knows more than a deterministic test is really foolish.
                  deterministic test knows exactly zero
                  Originally posted by davibu View Post
                  The spinlock implementation which was used was an AMD one, and the locking itself was atomic, which Linus got obviously wrong in his answer...
                  Or standard C++ atomic calls aren't atomic.
                  first, there are many kinds of atomicity. second, one atomic call is atomic, but sequence of atomic calls isn't necessarily atomic. third, latency is unrelated to atomicity
                  Originally posted by davibu View Post
                  And I read the whole answer of Linus and the original post.
                  what are chances you didn't understand it? i mean, what are chances that the obviously wrong one is you?
                  Originally posted by davibu View Post
                  Just because he thinks developers should use Mutexes, doesn't mean the kernel shouldn't be optimized for spinlock use cases...
                  optimization of one use case is pessimization of other. just because developers are uneducated, kernel shouldn'e be pessimized for correct usage. but i know, game developers often think they and their game are the center of universe
                  Last edited by pal666; 06-12-2020, 06:35 PM.

                  Comment


                  • #10
                    Originally posted by shmerl View Post
                    So is it a replacement for the previous futex / fsync work or it complements it?
                    it's further development

                    Comment

                    Working...
                    X