Show Your Support: Have you heard of Phoronix Premium? It's what complements advertisements on this site for our premium ad-free service. For less than $4 USD per month, you can help support our site while the funds generated allow us to keep doing Linux hardware reviews, performance benchmarking, maintain our community forums, and much more.
Intel Making Cluster Scheduling Configurable, Disabled For Alder Lake Hybrid CPUs
With the x86 cluster scheduling being enabled by default, when moving from Linux 5.15 to the current Linux 5.16 code it can lead to significant performance regressions as outlined in last month's regression hunt. Basically the cluster-aware scheduling doesn't take into account the P cores vs. E cores and so making ill-informed decisions for scheduling. Separately, merged last week was also a fix for Alder Lake on Linux around the ITMT handling that is also important if you are an early Intel 12th Gen Core customer.
With the new patches sent out on Friday, what is important for Alder Lake users is this patch. This will default to disabling cluster scheduling for x86 hybrid CPUs such as Alder Lake. "For x86 hybrid CPUs like Alder Lake, the order of CPU selection should be based strictly on CPU priority. Turn off cluster scheduling to avoid interference with such CPU selection order."
The rest of the new patch series makes the cluster scheduling configurable at boot-time or even run-time. For a fully-utilized system/server and other cases where it is desirable to disable this behavior and avoid the scheduling overhead and potentially bad choices, this patch series is useful.
These patches haven't been merged to mainline (though hopefully will soon considering it ultimately amounts to a regression fix) but with the change to disable cluster scheduling by default for Alder Lake should return the likes of the i5-12600K and i9-12900K to performing well on Linux 5.16... I'll have up new benchmarks shortly to confirm where things stand.