[libvirt] [PATCH 00/53] implement cgroup v2 support

Pavel Hrdina posted 53 patches 5 years, 5 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1538469654.git.phrdina@redhat.com
There is a newer version of this series
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                    | 1615 +++++++++++++++++++++
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                     |  169 ++-
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, 2436 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
[libvirt] [PATCH 00/53] implement cgroup v2 support
Posted by Pavel Hrdina 5 years, 5 months ago
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/Documentation/admin-guide/cgroup-v2.rst>

[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: register cgroup v2 backend
  vircgroup: introduce virCgroupV2SetBlkioWeight
  vircgroup: introduce virCgroupV2GetBlkioIoServiced
  vircgroup: introduce virCgroupV2GetBlkioIoDeviceServiced
  vircgroup: introduce virCgroupV2SetBlkioDeviceWeight
  vircgroup: introduce virCgroupV2SetBlkioDeviceReadIops
  vircgroup: introduce virCgroupV2SetBlkioDeviceWriteIops
  vircgroup: introduce virCgroupV2SetBlkioDeviceReadBps
  vircgroup: introduce virCgroupV2SetBlkioDeviceWriteBps
  vircgroup: introduce virCgroupV2SetMemory
  vircgroup: introduce virCgroupV2GetMemoryStat
  vircgroup: introduce virCgroupV2GetMemoryUsage
  vircgroup: introduce virCgroupV2SetMemoryHardLimit
  vircgroup: introduce virCgroupV2SetMemorySoftLimit
  vircgroup: introduce virCgroupV2SetMemSwapHardLimit
  vircgroup: introduce virCgroupV2GetMemSwapUsage
  vircgroup: introduce virCgroupV2SetCpuShares
  vircgroup: introduce virCgroupV2SetCpuCfsPeriod
  vircgroup: introduce virCgroupV2SetCpuCfsQuota
  vircgroup: introduce virCgroupV2SupportsCpuBW
  vircgroup: introduce virCgroupV2GetCpuacctUsage
  vircgroup: introduce virCgroupV2GetCpuacctStat
  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                    | 1615 +++++++++++++++++++++
 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                     |  169 ++-
 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, 2436 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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list