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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list