v3 here:
http://www.redhat.com/archives/libvir-list/2015-April/msg00621.html
Changes since v3
Patch 1:
* Add back in and use virDomainIOThreadIDDefFree
* Change _virDomainIOThreadIDDef 'undefined' to 'autofill'
* Adjust virDomainDefParseXML to only allocate what's defined
allowing virDomainDefPostParseInternal to Add in IOThreads
which weren't defined and set the 'autofill' boolean
* Have virDomainIOThreadIDAdd return a virDomainIOThreadIDDefPtr
Patch 2: No changes
Patch 3: (NEW)
* Discussed in prior review regarding making virDomainPinIsDuplicate
a static function (needed to move it)
Patch 4: (NEW)
* Move the iothreadspin data (e.g., the cpumask) into _virDomainIOThreadIDDef
* Kept the 'niothreadspin' and manipulated as necessary since there was code
to write out <cputune> data that I didn't want to reinvent/rototill just
to search through iothreadids for a cpumask
* Adjusted virDomainIOThreadPinDefParseXML to handle storing the cpumask
in the right iothreadsid[] entry. If not found (it may not be since the
virDomainDefPostParseInternal hasn't run), then create an autofill version
of an iothreadids entry.
* Remove/adjust a lot of code that used to handle iothreadspin
Patch 5: (NEW)
* Slight adjustment for iothreadsched to allow for "any" id value. This
code stores iothread id's as bitmap entries, so it didn't have the same
issues as the iothreadspin code
Patch 6-7: Unchanged
Patch 8:
* Adjusted the search for the new thread code to use existing alias
* Use the virDomainIOThreadIDAdd returned pointer
* Comment adjustments from code review
* Removal of erroneously cut-n-pasted code in Delete path
* Use the ->dst for the message
* Changes based on having cpumask in the iothrid data
Patch 9: No changes
John Ferlan (9):
conf: Add new domain XML element 'iothreadids'
qemu: Use domain iothreadids to IOThread's 'thread_id'
conf: Move virDomainPinIsDuplicate and make static
Move iothreadspin information into iothreadids
conf: Adjust the iothreadsched expectations
Implement virDomainAddIOThread and virDomainDelIOThread
remote: Add support for AddIOThread and DelIOThread
qemu: Add support to Add/Delete IOThreads
virsh: Add iothreadadd and iothreaddel commands
docs/formatdomain.html.in | 46 +-
docs/schemas/domaincommon.rng | 12 +
include/libvirt/libvirt-domain.h | 6 +
src/conf/domain_audit.c | 9 +
src/conf/domain_audit.h | 6 +
src/conf/domain_conf.c | 340 ++++++++++----
src/conf/domain_conf.h | 25 +-
src/driver-hypervisor.h | 12 +
src/libvirt-domain.c | 118 +++++
src/libvirt_private.syms | 6 +-
src/libvirt_public.syms | 6 +
src/qemu/qemu_cgroup.c | 31 +-
src/qemu/qemu_command.c | 38 +-
src/qemu/qemu_command.h | 3 +
src/qemu/qemu_domain.c | 36 --
src/qemu/qemu_domain.h | 3 -
src/qemu/qemu_driver.c | 511 ++++++++++++++++++---
src/qemu/qemu_process.c | 40 +-
src/remote/remote_driver.c | 2 +
src/remote/remote_protocol.x | 30 +-
src/remote_protocol-structs | 12 +
.../qemuxml2argv-cputune-iothreadsched-toomuch.xml | 1 +
.../qemuxml2argv-iothreads-ids-partial.args | 10 +
.../qemuxml2argv-iothreads-ids-partial.xml | 33 ++
.../qemuxml2argv-iothreads-ids.args | 8 +
.../qemuxml2argv-iothreads-ids.xml | 33 ++
tests/qemuxml2argvtest.c | 2 +
tests/qemuxml2xmltest.c | 2 +
tools/virsh-domain.c | 164 +++++++
tools/virsh.pod | 31 ++
30 files changed, 1320 insertions(+), 256 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids-partial.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids-partial.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids.xml
--
2.1.0