this post was submitted on 23 Aug 2024
125 points (96.3% liked)
PC Gaming
8642 readers
583 users here now
For PC gaming news and discussion. PCGamingWiki
Rules:
- Be Respectful.
- No Spam or Porn.
- No Advertising.
- No Memes.
- No Tech Support.
- No questions about buying/building computers.
- No game suggestions, friend requests, surveys, or begging.
- No Let's Plays, streams, highlight reels/montages, random videos or shorts.
- No off-topic posts/comments, within reason.
- Use the original source, no clickbait titles, no duplicates. (Submissions should be from the original source if possible, unless from paywalled or non-english sources. If the title is clickbait or lacks context you may lightly edit the title.)
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.