In these times, when we talk about something related to technology, we often talk months before something happens. At present, most operating systems have not yet updated their kernel to version 5.xx and we already have news related to Linux 5.2. As with the number of processes in Firefox 66, the news that we bring you today will be positive for many teams, but for others it will not be so.
And is that Linux 5.2 activate the Live Patching option of GCC 9, a compiler due to be released in the next few weeks. This is an option designed to help generate binaries that work well for Live Patching to work. With the arrival of v5.2 of the Linux kernel, this option will be used by default, which can cause slowdowns. It's not supposed to be noticeable, or even positive on newer computers, but it could be a problem on resource-limited devices.
Linux 5.2 will activate Live Patching by default
GCC 9 introduces 5 patching options which control which optimizations are used to try and ensure that no disaster happens if the binary could apply kernel security updates without the need for a reboot. This is important in cases like kGraft, Ksplice and Kpatch to help ensure that the GCC compiler does not modify your "live patch" job.
GCC 9.1.0 will be released later this month or already in May. Eventually, Linux 5.2 will activate the 5 Live Patch types by default when running on a supported compiler and when CONFIG_LIVEPATCH is activated, something that it will be like this by default in most Linux kernels. It is Miroslav Benes, from SUSE and the person responsible for the change, who warns that in some cases there could be a negative impact on performance as a result of this "live patch" option controlling compiler optimization heuristics.
And it is that, although we do not like it, this is usually like this: if we want to enjoy the new functions, we will most likely have to lose something, and this is especially noticeable in the battery consumption of smartphones. What do you think that this option is enabled by default in Linux 5.2?