It’s not “because we’re not fiddling” with anything.
It’s because Windows’ scheduler is objectively broken and not scheduling workloads correctly.
It assigns workloads to the virtual core (from SMT) before properly distributing them to other cores. Source
This is not an issue on Linux because they schedule threads correctly.
But I guess this post is about windows only doing some other branch prediction correctly on some admin mode, so I guess that way too.
Meanwhile these CPUs are amazing on Linux
https://www.phoronix.com/review/amd-ryzen-9950x-9900x
https://www.phoronix.com/review/amd-zen5-avx-512-9950x
For some reason Windows scheduler is not as good as the one found in the Linux kernel with the zen5.
The BORE scheduler on Linux is even better, as it’s specifically optimized for the features in these chips.
It’s pretty easy to patch the kernel in NixOS:
https://git.sr.ht/~pimeys/nixos/commit/2a023c5ccc8a499dcb4ea14b0ab52c33db3f3523
It definitely feels snappier even with my 5950x. I hope this lands to mainline soon, compiling kernel for every update takes a few minutes extra.
There are custom pre-compiled kernels that come with BORE. Not sure about Nix and I don’t know if they even have custom kernels in the repos at all, but there is linux-cachyos-bore on Arch. CachyOS is a pretty cool Arch-based distro that offers multiple kernels with different optimizations. They also put them in the AUR, so any Arch user can install them.
Not yet in the Torvalds tree of Linux? There’s a ton of interesting schedulers coming when sched_ext lands to the mainline:
https://www.phoronix.com/news/sched_ext-Ahead-Of-Linux-6.12
Also, would be great if more distros would compile packages with AVX512, there’s a ton of perf left on the table:
Not yet in the Torvalds tree of Linux?
I don’t think they’re gonna switch schedulers that quickly. They only changed from CFS (which they used for decades) to EEVDF last October.
I wouldn’t be even mildly shocked to eventually find out that there’s some sort of back room deal between MS and Intel
Me neither. But. I think the answer is much simpler here: Microsoft doesn’t make their money with schedulers, but bundling that Office and tracking to everybody, and charging rent every month. They have way less people working on making the kernel as fast as possible, compared to Linux where:
- there are many companies running crazy workloads 24/7, and providing patches
- very talented individual hackers who have an open source kernel and can play around with things, getting that last oomph out from their system
This is why, for a pro user, Linux is an amazing platform.
Wait a minute. Was this sarcastic or do I get to lore dump? In case you weren’t aware, Intel has been doing this shit to AMD for decades. And so has Nvidia.
https://www.nbcnews.com/id/wbna33882525
Like this was a 3 minute Google search adventure.