Author: chaoflow
Date: Thu Jan 12 07:54:09 2012
New Revision: 31490
URL: https://nixos.org/websvn/nix/?rev=31490&sc=1

Log:
powerManagement.enable sets link_power_management_policy to min_power

Added:
   nixos/trunk/modules/tasks/scsi-link-power-management.nix
Modified:
   nixos/trunk/modules/config/power-management.nix
   nixos/trunk/modules/module-list.nix

Modified: nixos/trunk/modules/config/power-management.nix
==============================================================================
--- nixos/trunk/modules/config/power-management.nix     Wed Jan 11 23:17:36 
2012        (r31489)
+++ nixos/trunk/modules/config/power-management.nix     Thu Jan 12 07:54:09 
2012        (r31490)
@@ -92,7 +92,7 @@
       ];
 
     powerManagement.cpuFreqGovernor = "ondemand";
-
+    powerManagement.scsiLinkPolicy = "min_power";
   };
 
 }

Modified: nixos/trunk/modules/module-list.nix
==============================================================================
--- nixos/trunk/modules/module-list.nix Wed Jan 11 23:17:36 2012        (r31489)
+++ nixos/trunk/modules/module-list.nix Thu Jan 12 07:54:09 2012        (r31490)
@@ -195,6 +195,7 @@
   ./tasks/kbd.nix
   ./tasks/lvm.nix
   ./tasks/network-interfaces.nix
+  ./tasks/scsi-link-power-management.nix
   ./tasks/swraid.nix
   ./tasks/tty-backgrounds.nix
   ./virtualisation/libvirtd.nix

Added: nixos/trunk/modules/tasks/scsi-link-power-management.nix
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixos/trunk/modules/tasks/scsi-link-power-management.nix    Thu Jan 12 
07:54:09 2012        (r31490)
@@ -0,0 +1,44 @@
+{ config, pkgs, ... }:
+
+with pkgs.lib;
+
+{
+  ###### interface
+
+  options = {
+  
+    powerManagement.scsiLinkPolicy = mkOption {
+      default = "";
+      example = "min_power";
+      description = ''
+        Configure the scsi link power management policy. By default,
+        the kernel configures "max_performance".
+      '';
+    };
+    
+  };
+
+
+  ###### implementation
+
+  config = mkIf (config.powerManagement.scsiLinkPolicy != "") {
+
+    environment.systemPackages = [ pkgs.cpufrequtils ];
+
+    jobs.cpufreq =
+      { description = "Set SCSI link power management policy";
+
+        startOn = "started udev";
+
+        task = true;
+
+        script = ''
+          for x in /sys/class/scsi_host/host*/link_power_management_policy; do
+            echo ${config.powerManagement.scsiLinkPolicy} > $x
+          done
+        '';
+      };
+      
+  };
+
+}
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to