Scheduler Changes For Linux 5.15 - Still No Sign Of Any Intel Thread Director Optimizations
The new scheduler material for Linux 5.15 includes changes for dealing with asymmetric scheduling affinity. This asymmetric scheduling affinity is initially focused around handling of 32-bit tasks on AArch64 systems where some SoCs are having AArch64-only cores not capable of 32-bit (AArch32) execution. The scheduling changes allow defining their own CPU possible mask for tasks to ensure the scheduler will place a given task on a CPU that supports it. Again, initially all focused on the Arm front with legacy 32-bit tasks for some SoCs having 64-bit-only cores.
The scheduler changes for Linux 5.15 also add cgroup SCHED_IDLE support, deadline scheduler improvements, enhanced CPU node-distance determination, and various fixes. The full list of scheduler patches for the Linux 5.15 merge window can be found via this PR.
Notably what isn't part of this pull request nor have I seen it elsewhere on the kernel mailing list or any prominent staging public Git repositories is any Linux support/optimizations around Intel Thread Director. With upcoming Alder Lake processors there is Thread Director as the new Intel hardware-based functionality for trying to determine the best placement of a given task between its mix of E energy efficiency and P performance cores.
Thread Director is hardware-based for trying to determine the most appropriate task placement among Alder Lake and future Intel hybrid processor designs, but there is a software element at play too. Intel made clear back during Architecture Day that Windows 11 will carry optimizations for Thread Director but wasn't too clear on the specifics. Intel has also been mum on any Linux software support/optimizations around Thread Director. Well, with no patches queued up for Linux 5.15 that in turn will be out as stable this autumn and with the first Alder Lake processors due out later this year, it doesn't look like Intel will have any launch-day Linux optimizations in place.
The Linux kernel has long been catering to Arm's big.LITTLE designs and supporting features around energy aware scheduling and other software improvements on that front, including this work in 5.15 around proper scheduling of tasks if certain cores have reduced capabilities, but we haven't seen anything on the Intel front in the scheduler or power management areas. P-State has prepared for Alder Lake / hybrid CPU designs but again no kernel activity around the Thread Director front even in early patch form on the LKML.
Thread Director should work fine without any OS engagement given that Microsoft Windows 10 should work fine with Alder Lake without any apparent kernel changes, but in any case we'll see what comes up in the weeks/months ahead and how the Alder Lake Linux performance is out-of-the-box later this year.