Fix cgroup hugetlb size prefix for kB
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._____"
Showing
Please
register
or
sign in
to comment