News: 0001536841

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Linux 6.15 Goes Very Heavy On Intel & AMD x86_64 CPU Changes

([Hardware] 4 Hours Ago x86/core)


Merged today for the recently-opened [1]Linux 6.15 merge window were all of the "x86/core" changes that are particularly heavy on new feature work for both Intel and AMD x86/x86_64 processors. This is easily quite one of the most significant Intel/AMD CPU set of updates in a given kernel cycle in quite some time.

As covered already in a separate article, the x86/core pull request lands the [2]AMD INVLPGB usage by the Linux kernel for that feature found on Zen 3 processors and newer. AMD INVLPGB usage for broadcast TLB invalidation is yielding some nice performance benefits as shown in the patches themselves and [3]some of our own benchmarks . I will have more AMD INVLPGB benchmarks soon now seeing these patches cross the finish line.

On the AMD side there is also some AMD SMN improvements and other improvements to [4]the AMD Node driver introduced the prior kernel cycle.

Over on the Intel CPU side, there is continued work around [5]wrapping up their work on restructuring the vendor / family / model handling in preparation for upcoming CPUs no longer part of "Family 6" but moving to Family 18 and Family 19.

Intel Linux engineers also have Linear Address Masking (LAM) updates as part of this pull. In addition, they have landed their work on [6]FineIBT-BHI mitigations for tougher kernel defenses .

Thanks to Intel is also work on [7]better handling of Intel P or E core only mitigations . With prior kernels if a CPU was affected by a given vulnerability only affecting its P or E cores but not both, they would be applied to all cores regardless. Moving forward the Linux kernel is now able to better handle security mitigations just affecting a subset of the cores.

The x86/core pull request also has a new "setcpuid=" boot parameter for overriding the exposed CPU features. This is part of the effort for [8]forcing CPU bugs or mitigations even if the actual CPU is not vulnerable . Similarly is also a "clearcpuid=" boot parameter option too.

Back in Linux 6.13 was [9]an interesting change for Linux kernel modules for large read-only execute (ROX) pages. That change was [10]reverted before Linux 6.13 final due to issues while now [11]EXECMEM_ROX has been reworked for Linux 6.15 . Hopefully all is well now.

Kernel Address Space Layout Randomization (KASLR) also sees changes as part of this x86/core pull. The KASLR entropy is being reduced on most x86 systems now in order to support PCI BAR space beyond the 10 TiB region. That reduction is being done when the kernel is built with "CONFIG_PCI_P2PDMA" enabled. While it's a reduction in entropy, it's better than the situation otherwise of having to disable KASLR completely with such P2PDMA kernel builds.

The x86/core pull for Linux 6.15 also raises the minimum GCC compiler version to 8.1 for building the kernel or LLVM/Clang 15.0.

[12]

For those running upstream and modern Linux kernel versions on old hardware, this pull also lands [13]the rework of x86 32-bit kernels on x86_64 CPUs and that includes the patches for removing CONFIG_HIGHMEM64G support. What this means is [14]dropping support for more than 4GB of RAM on x86 32-bit kernels . The 32-bit "bigsmp" support is removed as is CONFIG_HIGHMEM64G and other old options catering to x86 32-bit Linux kernel builds.

Also on the Linux x86 side with the v6.15 kernel is improving performance by using the asm_inline() function for atomic locking instructions. Plus various other fixes and improvements.

See [15]this pull request for the lengthy list of x86/core changes that have been merged for the Linux 6.15 kernel.

This article is just about the x86/core changes but there are also other significant Intel and AMD processor changes coming via other pull requests for Linux 6.15. Some recent examples include [16]the x86 crypto performance optimizations and [17]CRC speed-ups , among others. The Linux 6.15 merge window runs through the end of next week, so stay tuned to Phoronix about all of the other exciting changes.



[1] https://www.phoronix.com/search/Linux+6.15

[2] https://www.phoronix.com/news/AMD-INVLPGB-Merged-Linux-6.15

[3] https://www.phoronix.com/review/amd-invlpgb-linux

[4] https://www.phoronix.com/news/Linux-6.14-AMD-NODE

[5] https://www.phoronix.com/news/Intel-FMV-Finishing-Linux-6.15

[6] https://www.phoronix.com/news/Linux-FineIBT-BHI-TIP

[7] https://www.phoronix.com/news/Linux-6.15-P-E-Core-Mitigation

[8] https://www.phoronix.com/news/Linux-force_cpu_bug

[9] https://www.phoronix.com/news/Linux-6.13-Modules

[10] https://www.phoronix.com/news/Linux-6.13-Dropping-EXECMEM_ROX

[11] https://www.phoronix.com/news/Linux-EXECMEM_ROX-Preps-Again

[12] https://www.phoronix.com/image-viewer.php?id=2025&image=linux_615_amd_intel_lrg

[13] https://www.phoronix.com/news/Linux-Cleanup-x86-On-x86_64

[14] https://www.phoronix.com/news/Linux-6.14-x86-CPU-32-bit

[15] https://lore.kernel.org/lkml/Z96f8i3nJgdV4O9g@gmail.com/

[16] https://www.phoronix.com/news/Linux-6.15-x86-FPU

[17] https://www.phoronix.com/news/Linux-6.15-CRC



phoronix

`O' LEVEL COUNTER CULTURE
Timewarp allowed: 3 hours. Do not scrawl situationalist graffiti in the
margins or stub your rollups in the inkwells. Orange may be worn. Credit
will be given to candidates who self-actualise.

(1) Compare and contrast Pink Floyd with Black Sabbath and say why
neither has street credibility.
(2) "Even Buddha would have been hard pushed to reach Nirvana squatting
on a juggernaut route." Consider the dialectic of inner truth
and inner city.
(3) Discuss degree of hassle involved in paranoia about being sucked
into a black hole.
(4) "The Egomaniac's Liberation Front were a bunch of revisionist
ripoff merchants." Comment on this insult.
(5) Account for the lack of references to brown rice in Dylan's lyrics.
(6) "Castenada was a bit of a bozo." How far is this a fair summing
up of western dualism?
(7) Hermann Hesse was a Pisces. Discuss.