[Devel] [PATCH VZ8 v3 00/14] Port release_agent virtualization from vz7
Valeriy Vdovin
valeriy.vdovin at virtuozzo.com
Tue Feb 16 11:44:22 MSK 2021
This patchset ports virtualization of cgroup release_agent
virtualization from vz7.
Major challanges of porting are differences between vz7 and vz8 cgroup
implementations:
- transition of cgroups to kernfs
- slightly changed locking scheme, which relies on css_set_lock in
places, previously relied on cgroup_mutex.
There is a small number of patches that have been ported without
modifications, but most of the patches had suffered a lot of
modification due to the factors described above.
v1:
- original patchset
v2:
- removed port of CGRP_REMOVED due to the use of CSS_ONLINE in VZ8 for
same reason
- changed ve_set(get)_release_agent_path signature for more optimal
- added ve->is_running check before calling userspace executable
v3:
- use goto after check for ve->is_running in last patch
Valeriy Vdovin (14):
ve/cgroup: unmark ve-root cgroups at container stop
cgroup/cfs: added 'activate' option to cgroup_add_file
ve/cgroup: implemented per-ve workqueue.
cgroup: added rcu node string wrapper for in-cgroup usage. This will
be used in further patches in same patchset.
cgroup: exported put_css_set and get_css_set to cgroup.h
ve/cgroup: Added ve_owner field to cgroup
cgroup/ve: added helper function to get ve-related cgroup paths
ve/cgroup: moved release_agent from system_wq to per-ve workqueues
ve/cgroup: private per-cgroup-root data container
ve/cgroup: set release_agent_path for root cgroups separately
ve/cgroup: added release_agent to each container root cgroup.
ve/cgroup: At cgroup_mark(unmark)_ve_roots skip non-virtualized roots
cgroup/ve: pass cgroup_root to ve_set(get)_release_agent
cgroup/ve: do not run release_agent on non-running ve
include/linux/cgroup-defs.h | 24 +++-
include/linux/cgroup.h | 38 ++++-
include/linux/ve.h | 28 ++++
kernel/cgroup/cgroup-internal.h | 31 +---
kernel/cgroup/cgroup-v1.c | 235 ++++++++++++++++++++++++-------
kernel/cgroup/cgroup.c | 212 ++++++++++++++++++++++++++--
kernel/ve/ve.c | 242 +++++++++++++++++++++++++++++++-
7 files changed, 707 insertions(+), 103 deletions(-)
--
2.27.0
More information about the Devel
mailing list