runc/libcontainer/cgroups/fs
Kir Kolyshkin 6a2c155968 libcontainer: ability to compile without kmem
Commit fe898e7862 (PR #1350) enables kernel memory accounting
for all cgroups created by libcontainer -- even if kmem limit is
not configured.

Kernel memory accounting is known to be broken in some kernels,
specifically the ones from RHEL7 (including RHEL 7.5). Those
kernels do not support kernel memory reclaim, and are prone to
oopses. Unconditionally enabling kmem acct on such kernels lead
to bugs, such as

* https://github.com/opencontainers/runc/issues/1725
* https://github.com/kubernetes/kubernetes/issues/61937
* https://github.com/moby/moby/issues/29638

This commit gives a way to compile runc without kernel memory setting
support. To do so, use something like

	make BUILDTAGS="seccomp nokmem"

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2018-10-31 20:35:51 -07:00
..
apply_raw.go Disable rootless mode except RootlessCgMgr when executed as the root in userns 2018-09-07 15:05:03 +09:00
apply_raw_test.go libcontainer: cgroups: fs: add cgroup path safety unit tests 2016-02-14 00:37:21 +11:00
blkio.go libcontainer: cgroups: don't Set in Apply 2016-01-12 10:06:35 +11:00
blkio_test.go Move the cgroups setting into a Resources struct 2015-12-16 15:53:31 -05:00
cpu.go Use uint64 for resources to keep consistency with runtime-spec 2017-03-20 18:51:39 +08:00
cpu_test.go Add unit test for setting the CPU RT sched cgroups values at apply time 2016-07-04 13:11:53 +01:00
cpuacct.go Rename parent and data 2015-11-05 19:12:53 +08:00
cpuset.go doc: fix typo 2018-09-07 11:58:59 +08:00
cpuset_test.go Move the cgroups setting into a Resources struct 2015-12-16 15:53:31 -05:00
devices.go Skip updates on parent Devices cgroup 2016-07-25 10:30:46 -07:00
devices_test.go Add test 2016-07-28 17:14:51 -07:00
freezer.go libcontainer: cgroups: Write freezer state after every state check 2017-10-12 07:07:28 -07:00
freezer_test.go Move the cgroups setting into a Resources struct 2015-12-16 15:53:31 -05:00
fs_unsupported.go Move libcontainer into subdirectory 2015-06-21 19:29:15 -07:00
hugetlb.go libcontainer: cgroups: don't Set in Apply 2016-01-12 10:06:35 +11:00
hugetlb_test.go Move the cgroups setting into a Resources struct 2015-12-16 15:53:31 -05:00
kmem.go libcontainer: ability to compile without kmem 2018-10-31 20:35:51 -07:00
kmem_disabled.go libcontainer: ability to compile without kmem 2018-10-31 20:35:51 -07:00
memory.go libcontainer: ability to compile without kmem 2018-10-31 20:35:51 -07:00
memory_test.go Expose memory.use_hierarchy in MemoryStats 2017-03-31 13:40:34 -04:00
name.go Move the process outside of the systemd cgroup 2016-02-19 11:26:46 -08:00
net_cls.go fix setting net_cls classid 2016-07-11 05:00:35 +08:00
net_cls_test.go fix setting net_cls classid 2016-07-11 05:00:35 +08:00
net_prio.go libcontainer: cgroups: don't Set in Apply 2016-01-12 10:06:35 +11:00
net_prio_test.go Move the cgroups setting into a Resources struct 2015-12-16 15:53:31 -05:00
perf_event.go Rename parent and data 2015-11-05 19:12:53 +08:00
pids.go libcontainer: cgroups: deal with unlimited case for pids.max 2016-03-18 08:46:24 +11:00
pids_test.go libcontainer: cgroups: add tests for pids.max == "max" 2016-03-18 08:46:24 +11:00
stats_util_test.go doc: fix typo 2018-09-07 11:58:59 +08:00
util_test.go Move the cgroups setting into a Resources struct 2015-12-16 15:53:31 -05:00
utils.go Removing unused variable for cgroup subsystem 2016-06-12 12:35:49 +05:30
utils_test.go Move libcontainer into subdirectory 2015-06-21 19:29:15 -07:00