[Devel] [PATCH VZ8 v1 00/14] Port release_agent virtualization from vz7

Valeriy Vdovin valeriy.vdovin at virtuozzo.com
Wed Jan 20 12:56:16 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.

Valeriy Vdovin (14):
  ve/cgroup: unmark ve-root cgroups at container stop
  cgroup/cfs: added 'activate' option to cgroup_add_file
  cgroup: port CGROUP_REMOVED flag from vz7
  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: relaxed lockdep assertion for cset_cgroup_from_root

 include/linux/cgroup-defs.h     |  26 +++-
 include/linux/cgroup.h          |  43 +++++-
 include/linux/ve.h              |  26 ++++
 kernel/cgroup/cgroup-internal.h |  32 +---
 kernel/cgroup/cgroup-v1.c       | 252 +++++++++++++++++++++++++-------
 kernel/cgroup/cgroup.c          | 227 +++++++++++++++++++++++++---
 kernel/ve/ve.c                  | 247 ++++++++++++++++++++++++++++++-
 7 files changed, 744 insertions(+), 109 deletions(-)

-- 
2.27.0



More information about the Devel mailing list