User:Pietinger/Experimental/Kernel Upgrade from 6.14 to 6.15
Kernel Upgrade from 6.14 to 6.15
Normally I do not recommend switching to a new major version of the kernel immediately, but to wait for two, three or four minor versions first.
Today I realized that the kernel only compiles correctly when I turn off Landlock (*) ... which of course I don't want. So this time really a hard reason to wait. (* There was also a forums post with the same error: [[1]] )
Update 2025-06-04: Not fixed in 6.15.1 Please wait some days.
I also recommend that you only switch when the sys-kernel/linux-headers are also available in the kernel version (these usually take a little longer).
Notes for 6.15
It is said that 6.15 is a big update, for me personally only two points are interesting: improvements in the scheduler and a better handling of the mitigations for Intel CPUs that have P-cores and E-cores. Also I don't need bash completion:
- https://www.phoronix.com/news/Linux-6.15-Scheduler
- https://www.phoronix.com/news/Linux-6.15-P-E-Core-Mitigation
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=eb47ee018173
Other improvements are only interesting if you have a CPU capable of AVX512 (or a RISC machine), or you use IO_URING, bcacheFS, XFS or BTRFS (none of which I have), or have a machine with a BMC. AMD applies (as always) there should be many improvements (supposedly). Some 32bit code has also been removed.
A good overview of everything new in 6.15 can be found here:
- https://kernelnewbies.org/Linux_6.15
- https://www.phoronix.com/review/linux-615-features
- https://lwn.net/Articles/1015414/
- https://lwn.net/Articles/1016119/
If you prefer to listen and have the new features explained, you can watch this video:
Upgrade
I took over all but one default values with <return> when I did the make oldconfig. Here is a possible list (I have left out - as always - all new modules for some new hardware; if you have one of them, enable it):
1. Current frequency derived from HW provided feedback (CPUFREQ_ARCH_CUR_FREQ) [Y/n/?] (NEW) 2. No per-page mapcount (EXPERIMENTAL) (NO_PAGE_MAPCOUNT) [N/y/?] (NEW) 3. Enable PCI Data Object Exchange (DOE) support (PCI_DOE) [N/y/?] (NEW) 4. PCI Power Control driver for PCI slots (PCI_PWRCTL_SLOT) [N/y/?] (NEW) 5. fwctl device firmware access framework (FWCTL) [N/y/?] (NEW) 6. Large payload keys (BIG_KEYS) [N/y/?] (NEW) 7. Harden memory copies by default (HARDENED_USERCOPY_DEFAULT_ON) [Y/n/?] (NEW) 8. Kerberos 5 combined hash+cipher support (CRYPTO_KRB5ENC) [N/y/?] (NEW) 9. Upgrade objtool warnings to errors (OBJTOOL_WERROR) [N/y/?] (NEW) 10. Debug VFS (DEBUG_VFS) [N/y/?] (NEW)
Remarks
1. Take the default.
2. We get this question because we have already enabled TRANSPARENT_HUGEPAGE. Take the default.
3. As far as I understand you need this if you have a CXL_BUS. I took the default.
4. I dont need it but maybe you? I took the default.
5. As far as I understand this shall help when using NVIDIA. A detailed information you will find/hear in the video. I took the default.
6. I dont need it but maybe you? I took the default.
7. We get this question because we have already enabled HARDENED_USERCOPY. TAKE THE DEFAULT :-)
8. I dont need it but maybe you? I took the default.
9. Here we have a discrepancy between the default value and the help text: "This option is highly recommended. If unsure, say Y.". I will activate this later and recommend you to activate it as a test ... because you can always deactivate it if your compiler version does not work with it (or you use external NVIDIA driver).
10. Take the default.
A question about MSEAL_SYSTEM_MAPPINGS was not asked because we already have CHECKPOINT_RESTORE enabled and it should be disabled for us to have it available for selection. Don't worry it's highly experimental anyway and I wouldn't want to enable it at all.
CONFIG_MSEAL_SYSTEM_MAPPINGS Depends on: 64BIT [=y] && ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS [=y] && !CHECKPOINT_RESTORE [=y]