runc/libcontainer/integration
Aleksa Sarai 14ed8696c1 libcontainer: set cgroup config late
Due to the fact that the init is implemented in Go (which seemingly
randomly spawns new processes and loves eating memory), most cgroup
configurations are required to have an arbitrary minimum dictated by the
init. This confuses users and makes configuration more annoying than it
should. An example of this is pids.max, where Go spawns multiple
processes that then cause init to violate the pids cgroup constraint
before the container can even start.

Solve this problem by setting the cgroup configurations as late as
possible, to avoid hitting as many of the resources hogged by the Go
init as possible. This has to be done before seccomp rules are applied,
as the parent and child must synchronise in order for the parent to
correctly set the configurations (and writes might be blocked by seccomp).

Signed-off-by: Aleksa Sarai <asarai@suse.com>
2015-12-19 11:30:48 +11:00
..
checkpoint_test.go integration: show criu logs in a error case 2015-07-30 21:01:09 +03:00
doc.go Move libcontainer into subdirectory 2015-06-21 19:29:15 -07:00
exec_test.go libcontainer: set cgroup config late 2015-12-19 11:30:48 +11:00
execin_test.go Fix for race from error on process start 2015-10-07 21:28:26 -04:00
init_test.go Update import paths for new repository 2015-06-21 19:29:59 -07:00
seccomp_test.go make localtest failure on removing seccomp flag 2015-09-12 14:43:55 +05:30
template_test.go Move the cgroups setting into a Resources struct 2015-12-16 15:53:31 -05:00
utils_test.go systemd: support cgroup parent with specified slice 2015-12-02 23:57:02 -05:00