The 5.12 kernel has been released
Thanks to everybody who made last week very calm indeed, which just makes me feel much happier about the final 5.12 release." Headline features in 5.12 include the removal of a number of obsolete, (mostly) 32-bit Arm subarchitectures, atomic instructions for BPF, conditional file lookups with LOOKUP_CACHED, support for zoned block devices in the Btrfs filesystem, threaded NAPI polling in the network stack, filesystem ID mapping, support for building the kernel with Clang link-time optimization, the KFENCE kernel-debugging tool, and more. See the LWN merge-window summaries (part 1, part 2) and the (in-progress) KernelNewbies 5.12 page for more information.
Posted Apr 26, 2021 11:15 UTC (Mon)
by flussence (guest, #85566)
[Link]
Posted Apr 28, 2021 12:57 UTC (Wed)
by flussence (guest, #85566)
[Link] (1 responses)
It's next to impossible to discover unless you're already aware of the exact git commit message with the magic incantation. I couldn't figure out what was locking out the settings in nconfig, even with the symbol search's usually useful metadata (it's empty for HAVE_LTO_CLANG), and had to resort to grepping makefiles. To save others the time, the answer's `make LLVM=1 LLVM_IAS=1` — both vars are needed on every config and compile command.
Having TRIM_UNUSED_KSYMS enabled caused the build to explode with undefined module symbols in modpost, though it looks like the kernel image itself built successfully. The symbols are all internal-sounding ones: __x86_indirect_thunk_r11, __SCT__preempt_schedule{,_notrace}, and __{get,put}_user_{1,4,8}.
The help text for that option explicitly suggests this is a thing that's supposed to work with LTO. It doesn't seem to be caused solely by that option, as I can't reproduce the error from a fresh allnoconfig just by flipping it on. I have no idea how to efficiently narrow down the source and I gave up after hours of trying the hard way. Having it disabled succeeds, but the resulting kernel is massive.
A plain kernel built with clang and no LTO has no problems though, I've got two machines running on it now.
Posted May 26, 2021 12:02 UTC (Wed)
by flussence (guest, #85566)
[Link]
Overall, I feel like there's much bigger kernel size wins to be made simply by breaking up monolithic GPU drivers into more granular model ranges...
The 5.12 kernel has been released
The 5.12 kernel has been released
The 5.12 kernel has been released