Sched_Ext Changes Merged For Linux 6.13 With LLC & NUMA Awareness
One of the most prominent new features in Linux 6.12 was the merging of sched_ext for allowing extensible scheduler innovations by altering the scheduling behavior through (e)BPF programs. With the Linux 6.13 kernel there are some nice refinements to this extensible scheduler class.
One of the very useful additions to Sched_EXT with Linux 6.13 is introducing LLC and NUMA awareness. Sched_EXT can now better behave within NUMA environments for multi-socket servers and the like. The last level cache (LLC) awareness also allows for enhancing the idle CPU detection logic with today's chiplet-based processors such as for AMD Ryzen and AMD EPYC Linux systems. These Linux 6.13 additions will help in selecting CPU cores within the same LLC domain followed by NUMA node.
The sched_ext code in Linux 6.13 also handles WAKE_SYNC better, fixes an issue on multi-socket Intel Xeon Sapphire Rapids servers where hammering on the same queue across sockets could live-lock the system, and improving clarity around the "dispatch" and "consume" terminology.
More details on the sched_ext feature changes for Linux 6.13 via this pull that has since been merged into the Linux Git kernel codebase.
One of the very useful additions to Sched_EXT with Linux 6.13 is introducing LLC and NUMA awareness. Sched_EXT can now better behave within NUMA environments for multi-socket servers and the like. The last level cache (LLC) awareness also allows for enhancing the idle CPU detection logic with today's chiplet-based processors such as for AMD Ryzen and AMD EPYC Linux systems. These Linux 6.13 additions will help in selecting CPU cores within the same LLC domain followed by NUMA node.
The sched_ext code in Linux 6.13 also handles WAKE_SYNC better, fixes an issue on multi-socket Intel Xeon Sapphire Rapids servers where hammering on the same queue across sockets could live-lock the system, and improving clarity around the "dispatch" and "consume" terminology.
More details on the sched_ext feature changes for Linux 6.13 via this pull that has since been merged into the Linux Git kernel codebase.
1 Comment