chaotic-cx/nyx

[Request] linux-cachyos-sched-ext

HippieMitch opened this issue · 4 comments

Link to the package upstream website/repository

linux-cachyos-sched-ext - https://github.com/CachyOS/linux-cachyos/tree/master/linux-cachyos-sched-ext

Utility this package has for you

I am still learning Nix and am working on building this one for myself. But I really want to experiment with this new CPU Scheduler and it is tempting me to hop on Arch just to give it a try (the easy way). I think it would be neat if we had additional kernel options in the repo. For this request I really am just requesting sched-ext. I realize we don't need a million kernel options :).

Do you consider the package(s) to be useful for every Chaotic-Nyx user?

No, but for a few.

Do you consider the package to be useful for feature testing/preview?

  • Yes

Are you sure the package isn't available upstream already?

  • Yes

Does the package's license allow redistributing it?

YES!

Have you searched the issues to ensure this request is unique?

  • YES!

Have you read the README to ensure this package is not banned?

  • YES!

More information

No response

Hi @HippieMitch I've added the kernel and modules, but didn't add the "exemples" of schedules, not sure what's the best Nix-way to package them all.

EDIT 3: I've added the schedulers, you can access them through the scx package.

Closed with b59a68c (init kernel), b8f8426 (fix kernel), and 4e6d94c (init schedulers)

Guiding for the lost souls:

After following our "How to use on NixOS" , add this to your configuration:

{
  boot.kernelPackages = pkgs.linuxPackages_cachyos-sched-ext;
  environment.systemPackages =  [ pkgs.scx ];
}

Then, with the new kernel booted, check if the correct kernel booted:

╰─λ zgrep 'SCHED_CLASS' /proc/config.gz
CONFIG_SCHED_CLASS_EXT=y

The last step is to start a scheduler:

╰─λ sudo scx_rusty
21:38:53 [INFO] CPUs: online/possible = 24/32
21:38:53 [INFO] DOM[00] cpumask 00000000FF03F03F (20 cpus)
21:38:53 [INFO] DOM[01] cpumask 0000000000FC0FC0 (12 cpus)
21:38:53 [INFO] Rusty Scheduler Attached

There are other scx_* binaries for you to play with, or head to https://github.com/sched-ext/scx for instructions on how to write one of your own.

Hey thanks @PedroHLC! That is crazy convenient!