This is a continuation of the previous patches that change how we store info related to vcpus. In this series the vcpupin and vcpusched info is moved to the vcpu structure which makes for a much simpler storage and handling of the data. This series also fixes numerous bugs in the vcpu code. Peter Krempa (34): qemu: process: refactor and rename qemuValidateCpuMax to qemuValidateCpuCount qemu: process: Disallow VMs with 0 vcpus vz: Fix invalid iteration of def->cputune.vcpupin qemu: don't iterate vcpus using priv->nvcpupids in qemuProcessSetSchedParams (qemu|lxc)DomainGetCPUStats: Clean up cgroup: Clean up virCgroupGetPercpuStats conf: Add helper to retrieve bitmap of active vcpus for a definition virsh: cpu-stats: Extract common printing code into a function virsh: cpu-stats: Remove unneeded flags qemu: Don't use priv->ncpus to iterate cgroup setting cgroup: Prepare for sparse vCPU topologies in virCgroupGetPercpuStats qemu: cpu hotplug: Set vcpu state directly in the new structure qemu: Move and rename qemuProcessDetectVcpuPIDs to qemuDomainDetectVcpuPids qemu: domain: Prepare qemuDomainDetectVcpuPids for reuse qemu: Reuse qemuDomainDetectVcpuPids in cpu hot(un)plug conf: Don't copy def->cpumask into cpu pinning info tests: qemuxml2xml: Order pinning information numerically conf: Split out logic to determine whether cpupin was provided test: Touch up error message when attempting to pin invalid vCPU conf: Store cpu pinning data in def->vcpus conf: remove unused cpu pinning helpers and data structures conf: disallow empty cpusets for vcpu pinning when parsing XML conf: disallow empty cpuset for emulatorpin conf: Extract code that formats <cputune> util: buffer: Sanitize comment for virBufferAddBuffer util: bitmap: Introduce bitmap subtraction conf: Add helper to return a bitmap of active iothread ids conf: Extract code for parsing thread resource scheduler info conf: Don't store vcpusched orthogonally to other vcpu info conf: Fix how iothread scheduler info is stored qemu: vcpu: Aggregate code to set vCPU tuning qemu: vcpu: Reuse qemuProcessSetupVcpu in vcpu hotplug qemu: iothread: Aggregate code to set IOTrhead tuning qemu: iothread: Reuse qemuProcessSetupIOThread in iothread hotplug src/conf/domain_conf.c | 948 +++++++++++---------- src/conf/domain_conf.h | 48 +- src/libvirt_private.syms | 10 +- src/libxl/libxl_domain.c | 20 +- src/libxl/libxl_driver.c | 41 +- src/lxc/lxc_driver.c | 5 +- src/qemu/qemu_cgroup.c | 198 ----- src/qemu/qemu_cgroup.h | 2 - src/qemu/qemu_domain.c | 81 ++ src/qemu/qemu_domain.h | 2 + src/qemu/qemu_driver.c | 417 +++------ src/qemu/qemu_process.c | 479 ++++++----- src/qemu/qemu_process.h | 6 + src/test/test_driver.c | 50 +- src/util/virbitmap.c | 21 + src/util/virbitmap.h | 3 + src/util/virbuffer.c | 3 +- src/util/vircgroup.c | 52 +- src/util/vircgroup.h | 3 +- src/vz/vz_sdk.c | 6 +- .../qemuxml2argv-cputune-iothreads.xml | 2 +- .../qemuxml2xmlout-cputune-iothreads.xml | 2 +- .../qemuxml2xmlout-cputune-iothreadsched.xml | 3 +- tests/vcpupin | 2 +- tests/virbitmaptest.c | 55 ++ tests/vircgrouptest.c | 2 +- tools/virsh-domain.c | 66 +- 27 files changed, 1165 insertions(+), 1362 deletions(-) -- 2.6.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list