Added cpuFreqGovernor option to configure a CPU frequency governor.

svn path=/nixos/trunk/; revision=30949
wip/yesman
Peter Simons 13 years ago
parent 52e6088c88
commit ae82e7b048
  1. 1
      modules/module-list.nix
  2. 39
      modules/tasks/cpu-freq.nix

@ -190,6 +190,7 @@
./system/upstart-events/runlevel.nix
./system/upstart-events/shutdown.nix
./system/upstart/upstart.nix
./tasks/cpu-freq.nix
./tasks/filesystems.nix
./tasks/kbd.nix
./tasks/lvm.nix

@ -0,0 +1,39 @@
{ config, pkgs, ... }:
with pkgs.lib;
{
###### interface
options = {
cpuFreqGovernor = mkOption {
default = "";
example = "ondemand";
description = ''
Configure the governor used to regulate the frequence of the
available CPUs. By default, the kernel configures the governor
"userspace".
'';
};
};
###### implementation
config = mkIf (config.cpuFreqGovernor != "") ({
jobs.cpuFreq =
{ description = "Initialize CPU frequency governor";
startOn = "started udev";
task = true;
script = ''
for i in $(seq 0 $(($(nproc) - 1))); do
${pkgs.cpufrequtils}/bin/cpufreq-set -g ${config.cpuFreqGovernor} -c $i
done
'';
};
});
}
Loading…
Cancel
Save