On Wed, Sep 3, 2014 at 5:15 PM, John Ferlan <jferlan@xxxxxxxxxx> wrote: > The following patches will add more support for IOThreads not completed > from the initial patches. These changes support the remaining elements of > bz https://bugzilla.redhat.com/show_bug.cgi?id=1101574 (working through > unsetting the private bits - as there's nothing in there that should > necessarily be private). > > Changes: > > 1. Add "--iothread" option to virsh attach-disk to allow using a specific > iothread when attaching a disk > > 2. Add the ability to set CPU affinity for an IOThread. This involves > multiple steps (patches 2-6) of adding the infrastructure to support > setting scheduler affinity for the IOThread including cgroup setup. > For the most part it's a "copy" of the vCPU pinning code, but without > the external interfaces - those will come at a later time after RHEL7.1. > > 3. Add to <cpuset/> a new element <iothreadpin iothread='#" cpuset="string"/> > > NOTE: I can combine any/all of patches 2-6 - I just kept them separate > so it wasn't a larger single patch. > > Although future changes will support API's and virsh commands to modify > the iothreadpin, this set of changes at least is backportable to RHEL7.1 > since there are no external API changes. > > John Ferlan (7): > virsh: Add iothread to 'attach-disk' > qemu: Issue query-iothreads and to get list of active IOThreads > vircgroup: Introduce virCgroupNewIOThread > qemu_domain: Add niothreadpids and iothreadpids > qemu_cgroup: Introduce cgroup functions for IOThreads > qemu: Allow pinning specific IOThreads to a CPU > domain_conf: Add iothreadpin to cputune > > docs/formatdomain.html.in | 18 +++ > docs/schemas/domaincommon.rng | 10 ++ > src/conf/domain_conf.c | 124 +++++++++++++++++++-- > src/conf/domain_conf.h | 2 + > src/libvirt_private.syms | 1 + > src/qemu/qemu_cgroup.c | 104 +++++++++++++++++ > src/qemu/qemu_cgroup.h | 5 + > src/qemu/qemu_domain.c | 36 ++++++ > src/qemu/qemu_domain.h | 3 + > src/qemu/qemu_driver.c | 8 ++ > src/qemu/qemu_monitor.c | 41 +++++++ > src/qemu/qemu_monitor.h | 12 ++ > src/qemu/qemu_monitor_json.c | 91 +++++++++++++++ > src/qemu/qemu_monitor_json.h | 4 + > src/qemu/qemu_process.c | 96 ++++++++++++++++ > src/util/vircgroup.c | 43 +++++++ > src/util/vircgroup.h | 6 + > tests/qemumonitorjsontest.c | 71 ++++++++++++ > .../qemuxml2argv-cputune-iothreads.xml | 38 +++++++ > tests/qemuxml2xmltest.c | 1 + > tools/virsh-domain.c | 13 ++- > tools/virsh.pod | 5 +- > 22 files changed, 717 insertions(+), 15 deletions(-) > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cputune-iothreads.xml Looks good Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list