Linux kernel version 5.2 released big performance improvements

From LinuxReviews
Jump to navigationJump to search
Tux.png

Faster memory allocations, improvements to most file systems like ext4, btrfs and xfs, better support for peripherals - specially those from Logitech and perhaps most scary: x64 FPU optimizations. Those are some of the highlights in the latest Linux Kernel version.

Compile-kernel.jpg

Linus Torvalds has this to say about the 5.2 release:

"But there really doesn't seem to be any reason for another rc, since it's been very quiet. Yes, I had a few pull requests since rc7, but they were all small, and I had many more that are for the upcoming merge window. Part of it may be due to the July 4th week, of course, but whatever - I'll take the quiet week as a good sign.

So despite a fairly late core revert, I don't see any real reason for another week of rc, and so we have a v5.2 with the normal release timing.

There's no particular area that stands out there - the changes are so small that the sppended shortlog really is the best description of last week. A few small random changes all over: drivers, architectures, filesystem, mm, ..."

Linux Torvalds on the LKML, 2019-07-07

That the last week in the release-cycle was quiet does not mean this was a small or quiet release. Quite the opposite, the changes in kernel 5.2 are among the most devastating we have seen in a long time.

As we laid out when 5.2 rc1 was released, there's a lot rather significant changes.

Some big changes to vmalloc.c, most of which were in git commit 68ad4a3304335358f95a417f2a2b0c909e5119c4, should make large memory allocations a lot faster. The kernel will now keep track of free memory blocks in a map which can be used to instantly map large blocks when needed. The kernel would previously have to look around for free blocks before doing allocations.

FPU state handling has also been re-reworked and should potentially be significantly faster. git commit 8ff468c29e9a9c3afe9152c10c7b141343270bf3 introduced most of these changes. Linus Torvalds wrote this on the LKML when he did the pull request:

"I love this and we should have done it long ago, but I also worry that every time we've messed with the FP state, we've had interesting bugs. Which is obviously why we didn't do this long ago."

Kemonomimi rabbit.svg
Note: The changes to vmalloc.c combined with the FPU state handling changes are such that we recommend not upgrading to Linux Kernel 5.2 until version 5.2.2 or something like that. Not because there are known bugs related to these changes, there are no known problems with 5.2 at this time. But there could easily be some given that these are very big changes to really critical code-paths. Caution is therefore warranted before deploying 5.2 on mission-critical production systems. If you are not a financial institution and you just want more FPS in your Steam games then 5.2 is probably fine for your needs.

Quite a few drivers were updated during the 5.2 release cycle. Logitech keyboard and mice are now have drivers specific to those devices which previously were treated as Generic Human Interface Devices. This makes things like reading battery status on wireless Logitech devices possible.

There's also file-system changes to ext4, btrfs, xfs and jfs. The ext4 file-system now supports per-directory case-insensitive files and folders. While this may appear to be a step backwards it is something which is quite useful for running older Windows software under Linux using Wine and Steam's Proton.

Those with a Realtek WIFI card will be happy to know that 5.2 has a new RTW88 WIFI driver made mostly by Realtek themselves. This is a welcome change after decades of them not caring and Realtek Wifi users being stuck with random barely working drivers pulled from sketchy git repositories.

Headers for Intel's upcoming Ice Lake desktop and workstation CPUs is among the least interesting changes in 5.2 since there is no actual code for these new CPUs - just header files making the compiler aware of their existence.

Linux 5.2 can, as always, be downloaded from https://www.kernel.org/

Here comes the Merge Window...

The kernel's merge window is when developers get to put big chunks of code into the next kernel. Then the window slams shut and nothing but small bug-fixes gets merged. That's why we could outline most of what is new in the final 5.2 release when we wrote about 5.2-rc1. It will be very interesting to see what makes it into linus.git tree the coming week. Intel's patches for fsgsbase will not make it into 5.3 for sure. AMD has some kernel code with support for the newly released AMD RX 5700 and 5700 XT GPUs ready and they will likely try to sneak it in so their new GPUs don't go too long without Linux support.


published 2019-07-08last edited 2019-07-08


Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.

latest kernel news: