[libvirt] [PATCH 0/7] Support cgroups in QEMU driver
Daniel P. Berrange
berrange at redhat.com
Fri Jul 17 13:04:22 UTC 2009
This series of patches introduces cgroups support to the QEMU driver.
At this time it uses the 'devices' controller to whitelist block
devices for QEMU guests to prevent unauthorized access. It uses the
'cpu_shares' controller to allow schedular tunables on a per guest
basis. In the future we should use the 'memory' controller to enforce
the limit set in the balloon driver ie if the guest does not honour
the balloon request, then force the guest into swap, avoiding host
overcommit.
There is also some refactoring of the cgroups code to remove the
assumption that libvirtd is starting in the root cgroup, remove
the requirement that all controllers be active, and allow for use
in non-privileged drivers.
Daniel P. Berrange (7):
Use enums for cgroup controller types / labels
Use virFileReadAll/virFileWriteStr for key cgroup read/write helpers
Make cgroups a little more efficient
Place every QEMU guest in a private cgroup
Implement schedular tunables API using cgroups
Use cgroups for block device whitelisting in QEMU guests
Refactor cgroups to allow a group per driver to be managed directly
src/cgroup.c | 861 ++++++++++++++++++++++++++--------------------
src/cgroup.h | 28 +-
src/libvirt_private.syms | 1 +
src/lxc_conf.h | 2 +
src/lxc_controller.c | 19 +-
src/lxc_driver.c | 25 +-
src/qemu_conf.h | 2 +
src/qemu_driver.c | 355 ++++++++++++++++++-
src/util.c | 27 ++-
src/util.h | 2 +
10 files changed, 904 insertions(+), 420 deletions(-)
More information about the libvir-list
mailing list