[libvirt] [PATCH v4 0/9] Implement Add/Del IOThreads

John Ferlan jferlan at redhat.com
Tue Apr 21 23:31:21 UTC 2015


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




More information about the libvir-list mailing list