Intel Prepares Linux Batch TLB Flushing For Page Migration As A Big Performance Win

Written by Michael Larabel in Linux Kernel on 27 December 2022 at 10:10 AM EST. 3 Comments
Intel engineer Huang Ying sent out a set of patches today to implement batch TLB flushing for page migration within the migrate_pages() function and is showing very promising results.

For cases where multiple folios are passed to migrate_pages(), the Intel engineer worked on support to batch the TLB flushing and copying while in turn reducing the number of inter-processor interrupts (IPIs). The migrate_pages() function is used to move all pages in a process to another set of nodes. THis patch series also allows for accelerating the folio copying using the likes of the Intel Data Streaming Accelerator (DSA) with Xeon Scalable Sapphire Rapids.

As for the current benefit from this optimization work to the migrate_pages() call:
"With the patch, the TLB flushing IPI reduces 99.1% during the test and the number of pages migrated successfully per second increases 291.7%."

See this patch series for those interested in all of the technical details.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week