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.
Yeah, same with the next gen zen5 laptops. The Ryzen 9950x can compile code faster and by using less power compared to 7950x. It is going to be awesome for dev laptop performance and battery use.
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.
Now, what this means is you can boot this kernel, then just start the scheduler from userland, e.g.
run0 scx_rustland
It uses bpf, so the scheduler switches immediately and is as fast as anything in the kernel space. What makes this rustland scheduler super interesting is how it can detect what application is currently active, and give it a full priority over anything else. So you can compile code in the background with all cores, and at the same time play a game with the best frame rate.
There are other sched_ext schedulers available, at least on nixos with the cachyos kernel I get a bunch of scx_ binaries to play with.
For nix users here, nyx flake packages and compiles the cachyos kernel:
Oh hell no why the actual fuck does systemd attempt to replace every single component of the Linux stack? We don’t need more of this monolithic bullshit. What’s next, replace the Linux kernel with systemd? Fucking hell. And why the hell did they give it such a stupid name??? run0? The only way this makes sense, is because 0 people should actually run this on their god damn system. I’m just waiting for applications to start breaking because some stupid systemd dependency, which itself depends on 15 gigabytes of other systemd bloat isn’t installed.
Sorry for the rant
I’ll definitely stay on Gentoo with doas and OpenRC
I see rt and zen at least being available. Would of course be quite easy to just send them a PR for bore patches, but I think I wait for sched_ext to land instead…
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.
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:
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
https://www.neowin.net/news/eu-fines-intel-400-million-for-blocking-amds-market-access-through-payments-to-pc-makers/
https://www-purepc-pl.translate.goog/intel-oraz-nvidia-mieli-wewnetrzna-umowe-ktora-blokowala-tworzenie-laptopow-z-amd-renoir-oraz-geforce-rtx-2070-i-wyzej?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US
Like this was a 3 minute Google search adventure.
I’m assuming they’re specifically meaning a deal regarding not fixing the scheduler issues
To be completely honest, I’d be more surprised if there wasn’t.
The next steam deck is gonna be amazing. I mean the current one is, too
Yeah, same with the next gen zen5 laptops. The Ryzen 9950x can compile code faster and by using less power compared to 7950x. It is going to be awesome for dev laptop performance and battery use.
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.
Thanks for sparking my interest on cachyos kernels and what they patch. In addition to bore, they also patch the sched_ext support!
https://github.com/CachyOS/linux-cachyos?tab=readme-ov-file#cachyos-default-kernel
Now, what this means is you can boot this kernel, then just start the scheduler from userland, e.g.
It uses bpf, so the scheduler switches immediately and is as fast as anything in the kernel space. What makes this rustland scheduler super interesting is how it can detect what application is currently active, and give it a full priority over anything else. So you can compile code in the background with all cores, and at the same time play a game with the best frame rate.
There are other sched_ext schedulers available, at least on nixos with the cachyos kernel I get a bunch of scx_ binaries to play with.
For nix users here, nyx flake packages and compiles the cachyos kernel:
https://github.com/chaotic-cx/nyx
Wtf is run0
Edit: Is that nyx flake made by the same guys as the Chaotic AUR repo for arch?
https://www.freedesktop.org/software/systemd/man/devel/run0.html
Looks like it if you check from GitHub.
Rant about systemd
Oh hell no why the actual fuck does systemd attempt to replace every single component of the Linux stack? We don’t need more of this monolithic bullshit. What’s next, replace the Linux kernel with systemd? Fucking hell. And why the hell did they give it such a stupid name??? run0? The only way this makes sense, is because 0 people should actually run this on their god damn system. I’m just waiting for applications to start breaking because some stupid systemd dependency, which itself depends on 15 gigabytes of other systemd bloat isn’t installed.
Sorry for the rant
I’ll definitely stay on Gentoo with doas and OpenRC
I’m too old to rant about systemd :D
They have a few in the main branch: https://github.com/NixOS/nixpkgs/tree/master/pkgs/os-specific/linux/kernel
I see rt and zen at least being available. Would of course be quite easy to just send them a PR for bore patches, but I think I wait for sched_ext to land instead…
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:
https://www.phoronix.com/review/linux-os-amd-ryzen9-9950x
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.
Not until sched_ext lands, and you can then switch schedulers as you wish. Maybe in 6.12?
Oh that’s cool. Looks very promising.