Linux 4.16 Getting Tweak For Smarter Task Migration, Yielding Better Scalability
Ingo Molnar began sending in his various Git pull requests this morning for targeting the Linux 4.16 kernel merge window, including the scheduler updates.
One of the kernel scheduler changes catching our attention was Mel Gorman's sched/fair: Only immediately migrate tasks due to interrupts if prev and target CPUs share cache.
The change now only considers an automatic migration of tasks resulting from interrupts if the previous and anticipated CPU cores share the same cache. With the current kernel behavior depending upon the system's topology and IRQ settings, all of the work could be punted off to the same node.
With this NUMA migration change on a two-socket system, Gorman found a small increase in throughput performance while the standard deviation in Dbench I/O runs benefited as well. The change reduced CPU migrations by about 24% with this one line of code changed.
The scheduler changes can be found via this pull request while the particular patch of interest can be found here.
One of the kernel scheduler changes catching our attention was Mel Gorman's sched/fair: Only immediately migrate tasks due to interrupts if prev and target CPUs share cache.
The change now only considers an automatic migration of tasks resulting from interrupts if the previous and anticipated CPU cores share the same cache. With the current kernel behavior depending upon the system's topology and IRQ settings, all of the work could be punted off to the same node.
With this NUMA migration change on a two-socket system, Gorman found a small increase in throughput performance while the standard deviation in Dbench I/O runs benefited as well. The change reduced CPU migrations by about 24% with this one line of code changed.
The scheduler changes can be found via this pull request while the particular patch of interest can be found here.
4 Comments