AMD Broadcast TLB Invalidation Patches For Linux Updated, Intel RAR Eyed Next
([AMD] 91 Minutes Ago
AMD INVLPGB)
- Reference: 0001524268
- News link: https://www.phoronix.com/news/AMD-INVLPGB-Linux-v8
- Source link:
One of the set of patches for the Linux kernel that we have been looking forward to but that wasn't wrapped up in time for the recent Linux v6.14 merge window was the work enabling use of the AMD [1]INVLPGB instruction on Zen 3 CPUs and newer for broadcast TLB invalidation. This can lead to a nice performance bump in some workloads while the eighth iteration of those patches were posted overnight.
Rik van Riel with Meta has been working on [2]using INVLPGB for invalidating TLB entries for a range of pages with broadcast . The INVLPGB instruction has been supported on AMD processors since the Zen 3 days but not yet leveraged by the Linux kernel. Back in December with the original patch series Rik posted some pretty intriguing results:
Following that I also carried out some benchmarks of these kernel patches on my own to also find some intriguing results: [3]Benchmarking The AMD INVLPGB Linux Kernel Patches For Better Performance .
[4]
Now up to the eighth iteration of the patches, there's been a few fixes as well as some minor updates in hopefully getting the code queued up for the mainline kernel soon... With some luck, the AMD broadcast TLB invalidation work will be ready for the Linux 6.15 kernel cycle.
In the [5]v8 patches , Rik noted the potential for working on a similar optimization for Intel CPUs too that would follow these AMD patches:
"My current plan is to implement support for Intel's RAR (Remote Action Request) TLB flushing in a follow-up series, after this thing has been merged into -tip. Making things any larger would just be unwieldy for reviewers."
Here's to hoping this AMD INVLPGB code will be ready to go for Linux 6.15.
[1] https://www.phoronix.com/search/INVLPGB
[2] https://www.phoronix.com/news/AMD-INVLPGB-Linux-Benefits
[3] https://www.phoronix.com/review/amd-invlpgb-linux
[4] https://www.phoronix.com/image-viewer.php?id=2025&image=amd_tlb_penguin_lrg
[5] https://lore.kernel.org/lkml/20250205014033.3626204-1-riel@surriel.com/
Rik van Riel with Meta has been working on [2]using INVLPGB for invalidating TLB entries for a range of pages with broadcast . The INVLPGB instruction has been supported on AMD processors since the Zen 3 days but not yet leveraged by the Linux kernel. Back in December with the original patch series Rik posted some pretty intriguing results:
Following that I also carried out some benchmarks of these kernel patches on my own to also find some intriguing results: [3]Benchmarking The AMD INVLPGB Linux Kernel Patches For Better Performance .
[4]
Now up to the eighth iteration of the patches, there's been a few fixes as well as some minor updates in hopefully getting the code queued up for the mainline kernel soon... With some luck, the AMD broadcast TLB invalidation work will be ready for the Linux 6.15 kernel cycle.
In the [5]v8 patches , Rik noted the potential for working on a similar optimization for Intel CPUs too that would follow these AMD patches:
"My current plan is to implement support for Intel's RAR (Remote Action Request) TLB flushing in a follow-up series, after this thing has been merged into -tip. Making things any larger would just be unwieldy for reviewers."
Here's to hoping this AMD INVLPGB code will be ready to go for Linux 6.15.
[1] https://www.phoronix.com/search/INVLPGB
[2] https://www.phoronix.com/news/AMD-INVLPGB-Linux-Benefits
[3] https://www.phoronix.com/review/amd-invlpgb-linux
[4] https://www.phoronix.com/image-viewer.php?id=2025&image=amd_tlb_penguin_lrg
[5] https://lore.kernel.org/lkml/20250205014033.3626204-1-riel@surriel.com/
phoronix