Linux 5.2 Optimization To Help With Unnecessary Cache Line Movements & TLB Misses
VMware can be thanked for one of the performance optimizations coming with the upcoming Linux 5.2 kernel cycle.
VMware engineer Nadav Amit was able to rework some of the kernel's x86 TLB / memory management code to remove one of the structs from the stack. This in turn allows avoiding potential unnecessary cache line movements as well as the benefit of reduced TLB misses.
In a basic micro-benchmark exercising the functionality in question, the performance improved by about 3% with bumping the struct off the stack. But as far as any real-world performance benchmarks, no data was shared. But we'll certainly be firing off benchmarks next month when the Linux 5.2 kernel cycle officially kicks off.
More details via this Git commit where the change is currently staged in the x86/mm tree until the Linux 5.2 merge window.
VMware engineer Nadav Amit was able to rework some of the kernel's x86 TLB / memory management code to remove one of the structs from the stack. This in turn allows avoiding potential unnecessary cache line movements as well as the benefit of reduced TLB misses.
In a basic micro-benchmark exercising the functionality in question, the performance improved by about 3% with bumping the struct off the stack. But as far as any real-world performance benchmarks, no data was shared. But we'll certainly be firing off benchmarks next month when the Linux 5.2 kernel cycle officially kicks off.
More details via this Git commit where the change is currently staged in the x86/mm tree until the Linux 5.2 merge window.
6 Comments