{ "module": "kernel", "version": "1", "capabilities": [ "service-manager" ], "config": { "transparent-huge-pages": { "type": "string", "description": "madvise is the value the mesh chose for every node (novox/hq ADR 0381), not the always the distribution's kernel boots with; a machine that needs another value is given it as its own setting; madvise gives huge pages only to programs that ask for them, which stops a small write to a mapped file (the journal) dirtying and writing back a whole 2 MiB page on a machine whose disks are slow (novox/hq issue 746)", "trusted": true, "default": "madvise" } }, "tools": [ "kernel_huge_pages" ], "resources": [ { "id": "state", "type": "directory", "mode": "0700", "place": "." }, { "id": "huge-pages", "type": "file", "path": "${dir:state}/huge-pages", "mode": "0755", "trusted": true, "template": "files/huge-pages.sh" }, { "id": "unit", "type": "file", "path": "/etc/systemd/system/mesh-kernel-huge-pages.service", "mode": "0644", "template": "files/mesh-kernel-huge-pages.service" }, { "id": "apply", "type": "service", "unit": "mesh-kernel-huge-pages.service", "state": "running", "boot": "enabled", "restart-on": [ "unit" ], "reload-on": [ "huge-pages" ], "health": { "kind": "unit" } } ], "build": { "artifacts": [ { "name": "tools", "kind": "bundle", "language": "go", "system": "arch", "from": "cmd/kernel-tools", "binary": "kernel-tools", "loads": [ "kernel-tools" ] }, { "name": "files", "kind": "archive", "from": "files" } ] } }