New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
linux: Switch to schedutil governor #42330
Conversation
No attempt on x86_64-darwin (full log) The following builds were skipped because they don't evaluate on x86_64-darwin: linux Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: linux Partial log (click to expand)
|
Failure on x86_64-linux (full log) Attempted: linux Partial log (click to expand)
|
If this is a fairly new scheduler, is it a good idea to make it the default? What do the kernel developers recommend? What do other distributions do? |
I only checked with Arch and Ubuntu, and they both use |
@@ -75,6 +75,11 @@ with stdenv.lib; | |||
''} | |||
INTEL_IDLE y | |||
CPU_FREQ_DEFAULT_GOV_PERFORMANCE y | |||
${optionalString (versionAtLeast version "4.9") '' | |||
CPU_FREQ_GOV_SCHEDUTIL y |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@NeQuissimus
Since its been almost a month without feedback from other people here, I think it would be fine to just allow people to use schedutil but not change the default governor yet. Currently no one can use this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with worldofpeace. This should probably be split into two pull requests, one allowing users to use schedutil in the first place, and another that suggests changing the defaults.
That will also allow people to test things out, and / or draw their attention to the fact, that this exists at all.
It's good to build |
Note: As I understand it now, on recent kernel versions schedutil can no longer be built as a module. |
As mentioned above, |
For now, let's enable |
Right, e6a37e3. We can continue the discussion about the default, though that might be better after several months (I don't really know, I haven't researched pros and cons). |
- it can't be built as a module - it's not set as the default yet - for discussion see #42330
Can we close this?
Thanks! |
Motivation for this change
Since 4.9, the Linux kernel has included the "schedutil" CPU governor (in its current implementation): https://cateee.net/lkddb/web-lkddb/CPU_FREQ_GOV_SCHEDUTIL.html
This governor adjusts the CPU frequency based on utilization data provided by the scheduler.
Switching to this governor should allow for energy-savings while still making "high-performance" possible.
Closes #41003
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)Add these to my config: