|
53 | 53 | matchers = [ |
54 | 54 | "pipewire" |
55 | 55 | "pipewire-pulse" |
| 56 | + "wireplumber" |
| 57 | + ]; |
| 58 | + }; |
| 59 | + # Apps belonging to user |
| 60 | + # Minor prioritization |
| 61 | + # Should be removed when cosmic-comp supports foreground checking |
| 62 | + app-slice = { |
| 63 | + nice = -2; |
| 64 | + ioClass = "best-effort"; |
| 65 | + ioPrio = 0; |
| 66 | + matchers = [ |
| 67 | + "include cgroup=\"/user.slice/*slice/*service/*slice/*.scope\"" |
56 | 68 | ]; |
57 | 69 | }; |
58 | 70 | # Session services belonging to the user |
59 | 71 | session-services = { |
60 | | - nice = 12; |
| 72 | + nice = 9; |
61 | 73 | ioClass = "idle"; |
62 | 74 | matchers = [ |
63 | | - "include cgroup=\"/user.slice/*.service\" parent=\"systemd\"" |
64 | | - "include cgroup=\"/user.slice/*.session.slice/*\" parent=\"systemd\"" |
65 | | - "include cgroup=\"/user.slice/*app-dbus*\"" |
| 75 | + "include cgroup=\"/user.slice/*.slice/*\"" |
| 76 | + "exclude cgroup=\"/user.slice/*.slice/*.service/app.slice/*\"" |
66 | 77 | ]; |
67 | 78 | }; |
68 | 79 | # System services belonging to root |
69 | 80 | system-services = { |
70 | | - nice = 15; |
| 81 | + nice = 12; |
71 | 82 | ioClass = "idle"; |
72 | 83 | matchers = [ |
73 | 84 | "include cgroup=\"/system.slice/*\"" |
| 85 | + "exclude cgroup=\"/user.slice/*\" parent=\"systemd\"" |
74 | 86 | ]; |
75 | 87 | }; |
76 | 88 | }; |
|
182 | 194 | }; |
183 | 195 |
|
184 | 196 | net = { |
185 | | - enable = mkEnableOption "Ghaf-specific scheduler and power optimizations for net-vm."; |
186 | | - scheduler = { |
187 | | - # net-vm is running on one core, so scheduling is too heavy for it to be useful |
188 | | - enable = mkEnableOption "system76-scheduler on net-vm for Ghaf-specific process scheduling."; |
189 | | - }; |
| 197 | + enable = mkEnableOption "Ghaf-specific power optimizations for net-vm."; |
190 | 198 | tuned = { |
191 | 199 | enable = mkEnableOption "TuneD service on the net-vm for Ghaf-specific performance profiles." // { |
192 | 200 | default = true; |
|
215 | 223 | inherit (cfg.gui.scheduler) enable; |
216 | 224 | settings = { |
217 | 225 | processScheduler = { |
218 | | - pipewireBoost.enable = true; |
| 226 | + refreshInterval = 30; |
219 | 227 | }; |
220 | 228 | }; |
221 | 229 | assignments = guiVmSchedulerAssignments; |
|
267 | 275 |
|
268 | 276 | (mkIf cfg.net.enable ( |
269 | 277 | { |
270 | | - services.system76-scheduler = { |
271 | | - inherit (cfg.net.scheduler) enable; |
272 | | - settings = { |
273 | | - processScheduler = { |
274 | | - # Instead poll every 60s |
275 | | - useExecsnoop = false; |
276 | | - }; |
277 | | - }; |
278 | | - }; |
279 | 278 | services.tuned = { |
280 | 279 | inherit (cfg.net.tuned) enable; |
281 | 280 | ppdSupport = true; |
|
0 commit comments