Two major bits of news for the Linux Kernel today as not only has Linux 5.15 been released with lots new, we're also likely to finally see the futex2 work from Collabora in Linux 5.16.
Firstly for the new Linux 5.15 Kernel release, in the announcement Linus Torvalds said:
It's been calm, and I have no excuse to add an extra rc, so here we are, with v5.15 pushed out, and the merge window starting tomorrow.
Which is going to be a bit inconvenient for me, since I also have some conference travel coming up. But it's only a couple of days and I'll have my laptop with me. Sometimes the release timing works out, and sometimes it doesn't..
Anyway, the last week of 5.15 was mainly networking and gpu fixes, with some random sprinkling of other things (a few btrfs reverts, some kvm updates, minor other fixes here and there - a few architecture fixes, couple of tracing, small driver fixes etc). Full shortlog appended.
This release may have started out with some -Werror pain, but it calmed down fairly quickly and on the whole 5.15 was fair small and calm. Let's hope for more of the same - without Werror issues this time - for the upcoming merge window.
Some of the highlights include:
- A new NTFS driver named 'NTFS3' contributed by Paragon Software.
- AMD Van Gogh APU audio driver support.
- High resolution scrolling support for the Apple Magic Mouse.
- More work for supporting Intel Alder Lake (12th-generation of Intel Core processors).
- Progress on Apple M1 support with the IOMMU driver in.
- Some initial support for Intels upcoming discrete Alchemist GPUs.
- Temperature monitoring for AMD Zen 3 APUs
Linux 5.15 is also a LTS (long-term support) release, so it will be supported fully until at least October 2023 as announced by developer Greg Kroah-Hartman.
For the futex2 work coming from Collabora developer André Almeida, another developer Thomas Gleixner has sent in a request for Linus Torvalds to have it included along with other work so we should see it in the next Kernel release. This is for the new system call sys_futex_waitv that will help Linux gaming.
As Almeida previously described it: "The use case of this syscall is to allow low level locking libraries to wait for multiple locks at the same time. This is specially useful for emulating Windows' WaitForMultipleObjects. A futex_waitv()-based solution has been used for some time at Proton's Wine (a compatibility layer to run Windows games on Linux). Compared to a solution that uses eventfd(), futex was able to reduce CPU utilization for games, and even increase frames per second for some games. This happens because eventfd doesn't scale very well for a huge number of read, write and poll calls compared to futex. Native game engines will benefit of this as well, given that this wait pattern is common for games.".