summary refs log tree commit diff
path: root/nixos/modules/hardware/ksm.nix
blob: d6ac69b5d65e997f3d6653b91bfbe816d4ad5442 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{ config, lib, ... }:

{
  options.hardware.enableKSM = lib.mkEnableOption "Kernel Same-Page Merging";

  config = lib.mkIf config.hardware.enableKSM {
    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
          echo 1 > /sys/kernel/mm/ksm/run
        fi
      '';
    };
  };
}