-
Odin Ugedal authored
Mitigation of the issue fixed in master where hugetlb prefix for "KiB" is "kB" in runc, but the correct is "KB" See https://github.com/opencontainers/runc/pull/2065 and https://github.com/kubernetes/kubernetes/pull/78495 for more info. --- The hugetlb cgroup control files (introduced here in 2012: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=abb8206cb0773) use "KB" and not "kB" (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/mm/hugetlb_cgroup.c?h=v5.0#n349). The behavior in the kernel has not changed since the introduction, and the current code using "kB" will therefore fail on devices with small amounts of ram (see #77169) running a kernel with config flag CONFIG_HUGETLBFS=y As seen from the code in "mem_fmt" inside hugetlb_cgroup.c, only "KB", "MB" and "GB" are used, so the others may be removed as well. Here is a real world example of the files inside the "/sys/kernel/mm/hugepages/" directory: "hugepages-64kB" "hugepages-2048kB" "hugepages-32768kB" "hugepages-1048576kB" And the corresponding cgroup files: "hugetlb.64KB._____" "hugetlb.2MB._____" "hugetlb.32MB._____" "hugetlb.1GB._____"
820a717b