For more information check the kernel documentation [1].
This series implements cgroup v2 support into libvirt without devices,
for that there will be separate series because it uses BPF and it's not
that trivial.
You can get it from my git as well [2].
[1]
<
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/D...
[2] <
https://github.com/Antique/libvirt/tree/cgroupv2>
Pavel Hrdina (53):
util: introduce cgroup v2 files
vircgroup: introduce virCgroupV2Available
vircgroup: introduce virCgroupV2ValidateMachineGroup
vircgroup: introduce virCgroupV2CopyMounts
vircgroup: introduce virCgroupV2CopyPlacement
vircgroup: introduce virCgroupV2DetectMounts
vircgroup: introduce virCgroupV2DetectPlacement
vircgroup: introduce virCgroupV2ValidatePlacement
vircgroup: introduce virCgroupV2StealPlacement
vircgroup: introduce virCgroupV2DetectControllers
vircgroup: introduce virCgroupV2HasController
vircgroup: introduce virCgroupV2GetAnyController
vircgroup: introduce virCgroupV2PathOfController
vircgroup: introduce virCgroupV2MakeGroup
vircgroup: introduce virCgroupV2Remove
vircgroup: introduce virCgroupV2AddTask
vircgroup: introduce virCgroupV2HasEmptyTasks
vircgroup: introduce virCgroupV2BindMount
vircgroup: introduce virCgroupV2SetOwner
vircgroup: introduce virCgroupV2(Set|Get)BlkioWeight
vircgroup: introduce virCgroupV2GetBlkioIoServiced
vircgroup: introduce virCgroupV2GetBlkioIoDeviceServiced
vircgroup: introduce virCgroupV2(Set|Get)BlkioDeviceWeight
vircgroup: introduce virCgroupV2(Set|Get)BlkioDeviceReadIops
vircgroup: introduce virCgroupV2(Set|Get)BlkioDeviceWriteIops
vircgroup: introduce virCgroupV2(Set|Get)BlkioDeviceReadBps
vircgroup: introduce virCgroupV2(Set|Get)BlkioDeviceWriteBps
vircgroup: introduce virCgroupV2SetMemory
vircgroup: introduce virCgroupV2GetMemoryStat
vircgroup: introduce virCgroupV2GetMemoryUsage
vircgroup: introduce virCgroupV2(Set|Get)MemoryHardLimit
vircgroup: introduce virCgroupV2(Set|Get)MemorySoftLimit
vircgroup: introduce virCgroupV2(Set|Get)MemSwapHardLimit
vircgroup: introduce virCgroupV2GetMemSwapUsage
vircgroup: introduce virCgroupV2(Set|Get)CpuShares
vircgroup: introduce virCgroupV2(Set|Get)CpuCfsPeriod
vircgroup: introduce virCgroupV2(Set|Get)CpuCfsQuota
vircgroup: introduce virCgroupV2SupportsCpuBW
vircgroup: introduce virCgroupV2GetCpuacctUsage
vircgroup: introduce virCgroupV2GetCpuacctStat
vircgroup: register cgroup v2 backend
vircgroup: add support for hybrid configuration
vircgroupmock: change cgroup prefix
vircgroupmock: add support to test cgroup v2
vircgrouptest: introduce initFakeFS and cleanupFakeFS helpers
vircgrouptest: prepare testCgroupDetectMounts for cgroup v2
vircgrouptest: add detect mounts test for cgroup v2
vircgrouptest: add detect mounts test for hybrid cgroups
vircgrouptest: prepare validateCgroup for cgroupv2
vircgrouptest: add cgroup v2 tests
vircgrouptest: add hybrid tests
virt-host-validate: rewrite cgroup detection to use util/vircgroup
virt-host-validate: require freezer for LXC
src/Makefile.am | 1 +
src/libvirt_private.syms | 3 +
src/util/Makefile.inc.am | 2 +
src/util/vircgroup.c | 356 +++--
src/util/vircgroupbackend.c | 23 +
src/util/vircgroupbackend.h | 20 +-
src/util/vircgrouppriv.h | 11 +-
src/util/vircgroupv2.c | 1621 +++++++++++++++++++++
src/util/vircgroupv2.h | 27 +
tests/vircgroupdata/all-in-one.parsed | 1 +
tests/vircgroupdata/cgroups1.parsed | 1 +
tests/vircgroupdata/cgroups2.parsed | 1 +
tests/vircgroupdata/cgroups3.parsed | 1 +
tests/vircgroupdata/fedora-18.parsed | 1 +
tests/vircgroupdata/fedora-21.parsed | 1 +
tests/vircgroupdata/hybrid.cgroups | 12 +
tests/vircgroupdata/hybrid.mounts | 23 +
tests/vircgroupdata/hybrid.parsed | 11 +
tests/vircgroupdata/hybrid.self.cgroup | 9 +
tests/vircgroupdata/kubevirt.parsed | 1 +
tests/vircgroupdata/ovirt-node-6.6.parsed | 1 +
tests/vircgroupdata/ovirt-node-7.1.parsed | 1 +
tests/vircgroupdata/rhel-7.1.parsed | 1 +
tests/vircgroupdata/unified.cgroups | 13 +
tests/vircgroupdata/unified.mounts | 20 +
tests/vircgroupdata/unified.parsed | 11 +
tests/vircgroupdata/unified.self.cgroup | 1 +
tests/vircgroupmock.c | 177 ++-
tests/vircgrouptest.c | 191 ++-
tools/virt-host-validate-common.c | 162 +-
tools/virt-host-validate-common.h | 7 +-
tools/virt-host-validate-lxc.c | 41 +-
tools/virt-host-validate-qemu.c | 40 +-
33 files changed, 2450 insertions(+), 342 deletions(-)
create mode 100644 src/util/vircgroupv2.c
create mode 100644 src/util/vircgroupv2.h
create mode 100644 tests/vircgroupdata/hybrid.cgroups
create mode 100644 tests/vircgroupdata/hybrid.mounts
create mode 100644 tests/vircgroupdata/hybrid.parsed
create mode 100644 tests/vircgroupdata/hybrid.self.cgroup
create mode 100644 tests/vircgroupdata/unified.cgroups
create mode 100644 tests/vircgroupdata/unified.mounts
create mode 100644 tests/vircgroupdata/unified.parsed
create mode 100644 tests/vircgroupdata/unified.self.cgroup
--
2.17.1