Skip to content

Commit e24aaf4

Browse files
committed
scx.full: init
This package combines the Rust and C based schedulers. This is likely to be the default in the upcoming nixos module.
1 parent 29f813e commit e24aaf4

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

pkgs/os-specific/linux/scx/default.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ let
7070
{ rustland = import ./scx_rustland; }
7171
{ rusty = import ./scx_rusty; }
7272
{ csheds = import ./scx_csheds.nix; }
73+
{ full = import ./scx_full.nix; }
7374
];
7475
in
7576
(lib.mapAttrs (name: scheduler: callPackage scheduler { inherit mkScxScheduler; }) schedulers)
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
stdenv,
3+
lib,
4+
scx,
5+
mkScxScheduler,
6+
}:
7+
scx.csheds.overrideAttrs (oldAttrs: {
8+
pname = "scx_full";
9+
postInstall =
10+
(oldAttrs.postInstall or "")
11+
+ ''
12+
cp ${lib.getExe scx.bpfland} $out/bin/
13+
cp ${lib.getExe scx.lavd} $out/bin/
14+
cp ${lib.getExe scx.layered} $out/bin/
15+
cp ${lib.getExe scx.rlfifo} $out/bin/
16+
cp ${lib.getExe scx.rustland} $out/bin/
17+
cp ${lib.getExe scx.rusty} $out/bin/
18+
'';
19+
20+
meta = oldAttrs.meta // {
21+
description = "Sched-ext C and Rust userspace schedulers";
22+
longDescription = ''
23+
This includes C based schedulers such as scx_central, scx_flatcg,
24+
scx_pair, scx_qmap, scx_simple, scx_userland and Rust based schedulers
25+
like scx_rustland, scx_bpfland, scx_lavd, scx_layered, scx_rlfifo.
26+
'';
27+
};
28+
})

0 commit comments

Comments
 (0)