Linux CFS Improvement Forthcoming To Help With Faster Spreading Of CPU Utilization
Linaro's Vincent Guittot spotted a rather simple but impactful optimization in the kernel's scheduler code. When running the CFS load balancing, it until now hasn't been checking that there are pending tasks to pull as otherwise the load balance will just fail and thus further delay the possible spreading of the system load.
With a simple check for verifying there are at least two tasks running on a CPU core when trying to pull utilization from it, Vincent discovered promising results. With the sysbench benchmark, when applying the patch he found the maximum time per request dropped by about half. The average result didn't change much (a fraction of a millisecond) but the average maximum for per-request performance dropped from 21ms to 10ms and worst case timings dropped from 41ms to 21ms.
The patch is on the kernel mailing list for now and hopefully will make it into Linux 5.7.