Merged for the Linux 6.15 kernel was AMD INVLPGB support for broadcast TLB invalidation on recent Zen cores. AMD INVLPGB use by the Linux kernel can provide for some nice performance gains while now similar support for Intel processors is coming via a kernel patch series working on Intel RAR TLB invalidation support.
Rik van Riel of Meta who worked on the AMD INVLPGB code for the Linux kernel after getting that code upstreamed has now turned his focus to IPI-less TLB invalidation using Intel RAR – Remote Action Request. This Intel RAR support is found with Intel Xeon Sapphire Rapids processors and newer.
The Linux kernel engineer describes of the new patches posted today:
“Intel RAR differs from AMD INVLPGB in a few ways:
– RAR goes through (emulated?) APIC writes, not instructions
– RAR flushes go through a memory table with 64 entries
– RAR flushes can be targeted to a cpumask
– The RAR functionality must be set up at boot time before it can be used
…
This patch series is based off a 2019 patch series created by Intel, with patches later in the series modified to fit into the TLB flush code structure we have after AMD INVLPGB functionality was integrated.This first version of the code still has issues with segfaults and kernel oopses. Clearly something is still wrong with how or when flushes are done, but the code could use more eyeballs.
I have some idas for additional code cleanups as well, but would like to get the last bugs sorted out first…”
Those interested in this Intel RAR TLB invalidation support for the Linux kernel that will be able to provide some performance help once the bugs are squared away can be found via this patch series.