this post was submitted on 23 Aug 2024
125 points (96.3% liked)

PC Gaming

8800 readers
152 users here now

For PC gaming news and discussion. PCGamingWiki

Rules:

  1. Be Respectful.
  2. No Spam or Porn.
  3. No Advertising.
  4. No Memes.
  5. No Tech Support.
  6. No questions about buying/building computers.
  7. No game suggestions, friend requests, surveys, or begging.
  8. No Let's Plays, streams, highlight reels/montages, random videos or shorts.
  9. No off-topic posts/comments, within reason.
  10. 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 2 years ago
MODERATORS
top 25 comments
sorted by: hot top controversial new old
[–] [email protected] 95 points 4 months ago* (last edited 4 months ago) (3 children)

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.

[–] gravitas_deficiency 65 points 4 months ago (3 children)

I wouldn’t be even mildly shocked to eventually find out that there’s some sort of back room deal between MS and Intel

[–] [email protected] 47 points 4 months ago

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.

[–] BellyPurpledGerbil 42 points 4 months ago (1 children)
[–] [email protected] 19 points 4 months ago

I'm assuming they're specifically meaning a deal regarding not fixing the scheduler issues

[–] [email protected] 22 points 4 months ago

To be completely honest, I'd be more surprised if there wasn't.

[–] [email protected] 25 points 4 months ago (1 children)

The next steam deck is gonna be amazing. I mean the current one is, too

[–] [email protected] 19 points 4 months ago

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.

[–] [email protected] 14 points 4 months ago (2 children)

The BORE scheduler on Linux is even better, as it's specifically optimized for the features in these chips.

[–] [email protected] 7 points 4 months ago (1 children)

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.

[–] [email protected] 4 points 4 months ago (2 children)

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.

[–] [email protected] 4 points 4 months ago* (last edited 4 months ago) (1 children)

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.

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:

https://github.com/chaotic-cx/nyx

[–] [email protected] 1 points 4 months ago (1 children)

Wtf is run0

Edit: Is that nyx flake made by the same guys as the Chaotic AUR repo for arch?

[–] [email protected] 2 points 4 months ago (1 children)

Wtf is run0

https://www.freedesktop.org/software/systemd/man/devel/run0.html

Edit: Is that nyx flake made by the same guys as the Chaotic AUR repo for arch?

Looks like it if you check from GitHub.

[–] [email protected] 1 points 4 months ago (1 children)

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

[–] [email protected] 2 points 4 months ago

I'm too old to rant about systemd :D

[–] [email protected] 3 points 4 months ago

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...

[–] [email protected] 5 points 4 months ago (1 children)

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

[–] [email protected] 6 points 4 months ago (1 children)

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.

[–] [email protected] 4 points 4 months ago (1 children)

Not until sched_ext lands, and you can then switch schedulers as you wish. Maybe in 6.12?

[–] [email protected] 3 points 4 months ago

Oh that's cool. Looks very promising.

[–] conciselyverbose 74 points 4 months ago (1 children)

It's not "because we're not fiddling" with anything.

It's because Windows' scheduler is objectively broken and not scheduling workloads correctly.

[–] [email protected] 3 points 4 months ago (1 children)

Can you elaborate? How is it breaking?

[–] conciselyverbose 13 points 4 months ago (1 children)

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.

[–] [email protected] 1 points 4 months ago

Thanks for the explaination! I would have searched in but I'm on a phone and my kids are jumping on the couch/me. Have an upvote, on me.