This series adds support of emulator-pin to pin emulator threads on
specified physical CPUs, and emulator-bandwidth to control physical
CPU bandwidth for emulator threads.
changes:
v2.1:
- rebase
- include emulator-bandwidth patches
- minor fix of virCgroupAddTaskStrController
v2:
- rename hypervisor to emulator all through the series
- no Flags-suffix for new APIs
- reduce code duplication
- rollback to old vcpupin def if error
Hu Tao (12):
Introduce the function virCgroupMoveTask
add function bitmapFromBytemap() to convert bytemap to bitmap
refactor virDomainVcpuPinAdd()
updates of some vcpupin related functions
Enable cpuset cgroup and synchronous vcpupin info to cgroup.
Change virDomainVcpuPinDefParseXML to support parsing emulatorpin
qemu: support emulator pinning
Add a new function vshPrintPinInfo.
new command emulatorpin
limit cpu bandwidth only for vcpus
qemu: introduce period/quota tuning for emulator
new interface to control emulator_period/emulator_quota
Tang Chen (6):
Support emulatorpin xml parse.
qemu: synchronize emulatorpin info to cgroup
Add qemuProcessSetEmulatorAffinites and set emulator threads
affinities
Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo
functions.
Introduce virDomainEmulatorPinAdd and virDomainEmulatorPinDel
functions
remote: introduce emulator pinning RPCs
Wen Congyang (3):
Introduce the function virCgroupForEmulator
create a new cgroup and move all emulator threads to the new cgroup
qemu: support of emulator_period and emulator_quota's modification
daemon/remote.c | 91 ++++
docs/formatdomain.html.in | 33 ++
docs/schemas/domaincommon.rng | 17 +
include/libvirt/libvirt.h.in | 34 +-
src/conf/domain_conf.c | 300 ++++++++++---
src/conf/domain_conf.h | 17 +-
src/driver.h | 12 +
src/libvirt.c | 147 +++++++
src/libvirt_private.syms | 9 +
src/libvirt_public.syms | 2 +
src/libxl/libxl_driver.c | 13 +-
src/qemu/qemu_cgroup.c | 173 ++++++--
src/qemu/qemu_cgroup.h | 7 +
src/qemu/qemu_driver.c | 523 +++++++++++++++++++----
src/qemu/qemu_process.c | 60 ++-
src/remote/remote_driver.c | 99 +++++
src/remote/remote_protocol.x | 21 +-
src/remote_protocol-structs | 22 +
src/util/cgroup.c | 187 +++++++-
src/util/cgroup.h | 15 +
src/xen/xend_internal.c | 13 +-
tests/qemuxml2argvdata/qemuxml2argv-cputune.xml | 1 +
tools/virsh-domain.c | 253 ++++++++++-
tools/virsh.pod | 27 +-
24 files changed, 1868 insertions(+), 208 deletions(-)
--
1.7.10.2