New Linux Optimization Patches Reduced TLB Flushes By Over 50% In Some Cases
SK engineer Byungchul Park noticed costly migration overhead especially with TLB shoot-downs hurting performance while he was working with Compute Express Link (CXL) on Linux. That led to some optimization patches to reduce TLB flushes under some select cases that in turn led to a 50% reduction in full flushes and has the possibility of helping performance.
Byungchul Park posted a set of Linux kernel patches today to defer Translation Lookaside Buffer (TLB) flushes by keeping both the source and destination folios at migration. He's found very good results with these suggested patches:
We'll see what more comes of this patch series. In any event we always love seeing continued performance optimizations to the kernel.
Byungchul Park posted a set of Linux kernel patches today to defer Translation Lookaside Buffer (TLB) flushes by keeping both the source and destination folios at migration. He's found very good results with these suggested patches:
"I'm suggesting a mechanism to reduce TLB flushes by keeping source and destination of folios participated in the migrations until all TLB flushes required are done, only if those folios are not mapped with write permission PTE entries at all.
I saw the number of TLB full flush reduced over 50% and the performance a little bit improved but not that big with the workload I tested with, XSBench. However, I believe that it would help more with other ones or any real ones. It'd be appreciated to tell me if I'm missing something."
We'll see what more comes of this patch series. In any event we always love seeing continued performance optimizations to the kernel.
5 Comments