runc/libcontainer/cgroups
Odin Ugedal 273e7b74a7
Fix cgroup hugetlb size prefix for kB
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
https://github.com/kubernetes/kubernetes/issues/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._____"

Signed-off-by: Odin Ugedal <odin@ugedal.com>
2019-05-29 21:52:43 +02:00
..
fs cgroups: nokmem: error out on explicitly-set kmemcg limits 2018-12-01 14:31:35 +11:00
systemd Move systemd.Manager initialization into a function in that module 2019-05-01 13:22:19 -07:00
cgroups.go cgroups: update the comments 2017-01-03 22:40:12 +08:00
cgroups_test.go Rework ParseCgroupFile 2015-09-10 20:59:27 +03:00
cgroups_unsupported.go Move libcontainer into subdirectory 2015-06-21 19:29:15 -07:00
stats.go Expose memory.use_hierarchy in MemoryStats 2017-03-31 13:40:34 -04:00
utils.go Fix cgroup hugetlb size prefix for kB 2019-05-29 21:52:43 +02:00
utils_test.go Merge pull request #1872 from masters-of-cats/better-find-cgroup-mountpoint 2018-11-16 14:06:54 -05:00