nixos/ksm: remove udev-settle dependency

The sysfs file /sys/kernel/mm/ksm/run seems to be available as soon as
the kernel has started, so no point in waiting for udev to "settle". If
for some reason it doesn't, we let the unit fail explicitly.

rnhmjoj 48052ca0 ed0a29c8

Changed files
+8 -8
nixos
modules
hardware
tests
+6 -6
nixos/modules/hardware/ksm.nix
···
systemd.services.enable-ksm = {
description = "Enable Kernel Same-Page Merging";
wantedBy = [ "multi-user.target" ];
-
after = [ "systemd-udev-settle.service" ];
-
script = ''
-
if [ -e /sys/kernel/mm/ksm ]; then
+
script =
+
''
echo 1 > /sys/kernel/mm/ksm/run
-
${optionalString (cfg.sleep != null) ''echo ${toString cfg.sleep} > /sys/kernel/mm/ksm/sleep_millisecs''}
-
fi
-
'';
+
'' + optionalString (cfg.sleep != null)
+
''
+
echo ${toString cfg.sleep} > /sys/kernel/mm/ksm/sleep_millisecs
+
'';
};
};
}
+2 -2
nixos/tests/ksm.nix
···
-
import ./make-test-python.nix ({ pkgs, ...} :
+
import ./make-test-python.nix ({ lib, ...} :
{
name = "ksm";
-
meta = with pkgs.lib.maintainers; {
+
meta = with lib.maintainers; {
maintainers = [ rnhmjoj ];
};