The Very Exciting Cache Aware Scheduling Looks Like It Will Land For Linux 7.2
([Linux Kernel] 2 Hours Ago
Cache Aware Scheduling)
- Reference: 0001634875
- News link: https://www.phoronix.com/news/Linux-7.2-Likely-CAS
- Source link:
As a very exciting development ahead of the [1]Linux 7.2 kernel merge window opening in about one month's time, it looks like the long-awaited [2]Cache Aware Scheduling support will finally be merged! CONFIG_SCHED_CACHE has made it into a TIP branch with all the Cache Aware Scheduling code for helping with Linux performance on modern CPUs sporting multiple last level caches.
Cache Aware Scheduling has been led by Intel software engineers for [3]more than one year and has shown [4]significant benefits on at least modern Intel and AMD CPUs , especially for sever class processors with more cores and bigger caches as well as the demanding workloads that can benefit from enhanced scheduling.
Cache Aware Scheduling tries to help ensure that tasks sharing data are colocated to the same last level cache (LLC) domain for ensuring better cache locality and reducing cache misses/bouncing. I have benchmarked earlier versions of the patches and found [5]great performance on AMD EPYC CPUs and [6]Xeon 6 benefiting nicely too .
[7]
Earlier this month I noted that it looked like [8]Cache Aware Scheduling was nearing the mainline kernel and as of the latest Git push to tip/tip.git , it now looks pretty solid that it will be submitted at least for the Linux 7.2 merge window in mid-June.
With [9]this Git merge the "sched/cache" branch by Peter Zijlstra is merged into TIP's sched/core branch. Now being in that branch ahead of the merge window, it should be submitted for Linux 7.2. Assuming no last minute problems or Linus Torvalds finding anything to criticize, this important feature should make it into Linux 7.2!
[10]
Once landed, the Cache Aware Scheduling can be enabled with the CONFIG_SCHED_CACHE Kconfig build option. The code does include a llc_balancing DebugFS directory with a knob called enabled for letting the user turn off/on the Cache Aware Scheduling feature at run-time to help with any debugging or performance comparisons.
[1] https://www.phoronix.com/search/Linux+7.2
[2] https://www.phoronix.com/search/Cache+Aware+Scheduling
[3] https://www.phoronix.com/news/Linux-RFC-Cache-Aware-Sched
[4] https://www.phoronix.com/news/Cache-Aware-Scheduling-Go
[5] https://www.phoronix.com/review/cache-aware-scheduling-amd-turin
[6] https://www.phoronix.com/review/intel-xeon-6-cache-sched
[7] https://www.phoronix.com/image-viewer.php?id=2026&image=cache_sched_1_lrg
[8] https://www.phoronix.com/news/Linux-Cache-Aware-Sched-Nears
[9] https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=sched/core&id=a26d9208c1376ac3877d9f12e697f83368e2af1c
[10] https://www.phoronix.com/image-viewer.php?id=2026&image=cache_sched_2_lrg
Cache Aware Scheduling has been led by Intel software engineers for [3]more than one year and has shown [4]significant benefits on at least modern Intel and AMD CPUs , especially for sever class processors with more cores and bigger caches as well as the demanding workloads that can benefit from enhanced scheduling.
Cache Aware Scheduling tries to help ensure that tasks sharing data are colocated to the same last level cache (LLC) domain for ensuring better cache locality and reducing cache misses/bouncing. I have benchmarked earlier versions of the patches and found [5]great performance on AMD EPYC CPUs and [6]Xeon 6 benefiting nicely too .
[7]
Earlier this month I noted that it looked like [8]Cache Aware Scheduling was nearing the mainline kernel and as of the latest Git push to tip/tip.git , it now looks pretty solid that it will be submitted at least for the Linux 7.2 merge window in mid-June.
With [9]this Git merge the "sched/cache" branch by Peter Zijlstra is merged into TIP's sched/core branch. Now being in that branch ahead of the merge window, it should be submitted for Linux 7.2. Assuming no last minute problems or Linus Torvalds finding anything to criticize, this important feature should make it into Linux 7.2!
[10]
Once landed, the Cache Aware Scheduling can be enabled with the CONFIG_SCHED_CACHE Kconfig build option. The code does include a llc_balancing DebugFS directory with a knob called enabled for letting the user turn off/on the Cache Aware Scheduling feature at run-time to help with any debugging or performance comparisons.
[1] https://www.phoronix.com/search/Linux+7.2
[2] https://www.phoronix.com/search/Cache+Aware+Scheduling
[3] https://www.phoronix.com/news/Linux-RFC-Cache-Aware-Sched
[4] https://www.phoronix.com/news/Cache-Aware-Scheduling-Go
[5] https://www.phoronix.com/review/cache-aware-scheduling-amd-turin
[6] https://www.phoronix.com/review/intel-xeon-6-cache-sched
[7] https://www.phoronix.com/image-viewer.php?id=2026&image=cache_sched_1_lrg
[8] https://www.phoronix.com/news/Linux-Cache-Aware-Sched-Nears
[9] https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=sched/core&id=a26d9208c1376ac3877d9f12e697f83368e2af1c
[10] https://www.phoronix.com/image-viewer.php?id=2026&image=cache_sched_2_lrg