1{ lib, ... }:
2
3{
4 name = "sysfs";
5 meta.maintainers = with lib.maintainers; [ mvs ];
6
7 nodes.machine = {
8 boot.kernel.sysfs = {
9 kernel.mm.transparent_hugepage = {
10 enabled = "always";
11 defrag = "defer";
12 shmem_enabled = "within_size";
13 };
14
15 block."*".queue.scheduler = "none";
16 };
17 };
18
19 testScript =
20 { nodes, ... }:
21 let
22 inherit (nodes.machine.boot.kernel) sysfs;
23 in
24 ''
25 from shlex import quote
26
27 def check(filename, contents):
28 machine.succeed('grep -F -q {} {}'.format(quote(contents), quote(filename)))
29
30 check('/sys/kernel/mm/transparent_hugepage/enabled',
31 '[${sysfs.kernel.mm.transparent_hugepage.enabled}]')
32 check('/sys/kernel/mm/transparent_hugepage/defrag',
33 '[${sysfs.kernel.mm.transparent_hugepage.defrag}]')
34 check('/sys/kernel/mm/transparent_hugepage/shmem_enabled',
35 '[${sysfs.kernel.mm.transparent_hugepage.shmem_enabled}]')
36 '';
37}