[Devel] [PATCH 0/2 v0] Make release_agent per-cgroup property. Run release_agent in proper ve.
Valeriy Vdovin
valeriy.vdovin at virtuozzo.com
Fri Mar 13 13:09:27 MSK 2020
Problems:
1. Currently release_agent is a mount-wide cgroup property, single for whole hierarchy. It is
not possible to override it's value for a cgroup down the hierarchy, which is a virtual root
for a container.
2. Code that spawnes release_agent notification processes, does so from ve0, inside of a container
any logic that waits for notifications of empty cgroups will fail,
see https://jira.sw.ru/browse/PSBM-83887 for an example of such problem with systemd.
In this patchset release_agent is moved from 'struct cgroupfs_root' to 'struct cgroup', enabling
the possibility to set release_agent per-ve.
Also 'struct cgroup' recieves a pointer to owning ve, so that release_agent notifications
could be spawned under the right ve.
Valeriy Vdovin (2):
cgroup: 'release_agent' property is now per-cgroup instead of
per-mount.
ve/cgroup: Added cross links between cgroups and owning ve
include/linux/cgroup.h | 20 ++++-
include/linux/ve.h | 19 +++++
kernel/cgroup.c | 202 +++++++++++++++++++++++++++++++++++++++++++++----
kernel/ve/ve.c | 81 +++++++++++++++++++-
4 files changed, 301 insertions(+), 21 deletions(-)
--
1.8.3.1
More information about the Devel
mailing list