Announcement

Collapse
No announcement yet.

It Appears FUTEX2 Will Land For Linux 5.16

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

  • It Appears FUTEX2 Will Land For Linux 5.16

    Phoronix: It Appears FUTEX2 Will Land For Linux 5.16

    Barring any last minute reservations it appears the initial "FUTEX2" work that is of much interest to Linux gamers enjoying Steam Play / Proton will find that kernel functionality in Linux 5.16...

    https://www.phoronix.com/scan.php?pa...n-Locking-Core

  • #2
    I think the main immediate advantage is that devs can stop paying attention to esync so that it will get phased out over time (I wonder if recent Ubuntu/Debian versions ship with increased file descriptor limit for systemd?). I was surprised to see esync fare as well as fsync in Assassin's Creed Odyssey (exactly the same fps throughout the benchmark in 720p). That kind of confirms my subjective impression in every other game so far, I haven't been able to observe any noticeable improvement of an fsync enabled custom kernel vs. Arch upstream kernel.

    Comment


    • #3
      What are the advantages of the Linux kernel over the Windows kernel, and vice versa?

      Linux takes futex2 from Windows, and Windows takes eBPF from Linux. Both takes sockets from BSD.

      Comment


      • #4
        Originally posted by uid313 View Post
        What are the advantages of the Linux kernel over the Windows kernel, and vice versa?
        One is easier to maintain from both user and developers perspective while the other only have certain people has real idea to what certain errors can mean while the rest can only guess.

        Comment


        • #5
          Originally posted by aufkrawall View Post
          I wonder if recent Ubuntu/Debian versions ship with increased file descriptor limit for systemd?
          No longer needed in systemd >240. A quick search tells me that Ubuntu 20.04LTS is using 245 so it's fine, and Debian has been shipping a recent enough version since Debian 10 (Buster).
          Last edited by Brisse; 09 October 2021, 09:12 AM.

          Comment


          • #6
            Originally posted by uid313 View Post
            What are the advantages of the Linux kernel over the Windows kernel, and vice versa?

            Linux takes futex2 from Windows, and Windows takes eBPF from Linux. Both takes sockets from BSD.
            There is no futex2 in Windows. The WaitForMultipleObjects API in WIndows cannot wait for futexes. Further Linux added futex back in 2002 with v2.5.7 and Windows got it's WaitOnAddress first in 2012 with Windows 8 and Windows Server 2012, so WIndows took futex from Linux and Windows have yet to take futex2.

            Comment


            • #7
              Originally posted by aufkrawall View Post
              I think the main immediate advantage is that devs can stop paying attention to esync so that it will get phased out over time (I wonder if recent Ubuntu/Debian versions ship with increased file descriptor limit for systemd?). I was surprised to see esync fare as well as fsync in Assassin's Creed Odyssey (exactly the same fps throughout the benchmark in 720p). That kind of confirms my subjective impression in every other game so far, I haven't been able to observe any noticeable improvement of an fsync enabled custom kernel vs. Arch upstream kernel.
              The main problem with esync is that apparently there are some games that don't properly close their objects so you will run out of descriptors regardless of what upper limit you set. I would also assume that any benefits or differences will vary wildly among games and it's not just that new/big game will benefit more or less from it so this just shows that AC Odyssey works well with both.

              Comment


              • #8
                I wonder if recent Ubuntu/Debian versions ship with increased file descriptor limit for systemd?
                Originally posted by Brisse View Post

                No longer needed in systemd <240. A quick search tells me that Ubuntu 20.04LTS is using 245 so it's fine, and Debian has been shipping a recent enough version since Debian 10 (Buster).
                I didn't know this. Is this referring to needing the following:

                ulimit -c unlimited

                in a .profile? Or something else entirely? Thanks

                Update: Got my answer from Brisse in a later post: https://github.com/ValveSoftware/Pro...i/Requirements
                Last edited by perpetually high; 09 October 2021, 09:45 AM.

                Comment


                • #9
                  Originally posted by F.Ultra View Post
                  The main problem with esync is that apparently there are some games that don't properly close their objects so you will run out of descriptors regardless of what upper limit you set.
                  Yet I'm not aware of any such a game. Are you?

                  Comment


                  • #10
                    5.16 seems to get a really exciting release: zstd updates, Futex2, Cluster topology load balancing are in. Maybe even the folio patchset will cross the finish line.

                    Comment

                    Working...
                    X