[libvirt] [PATCH 0/6] Follow-up patches for IOThread API/display

Ján Tomko jtomko at redhat.com
Sun Mar 8 11:03:48 UTC 2015


On Fri, Mar 06, 2015 at 01:47:06PM -0500, John Ferlan wrote:
> Based on jtomko's review of the IOThread series and my foray into the
> libvirt-perl bindings, these patches make the following adjustments: 
> 
> Patch 1 - Found while generating the virsh iothreadpin description, the
>           vcpupin description had a few missing words
> Patch 2 - While working on the libvirt-perl bindings - I found I was a
>           bit overaggressive with my GetIOThreadsInfo interface with regard
>           to checking ReadOnly unnecessarily
> Patch 3 - Adjust the IOThread CPU Affnity algorithm based on jtomko's review
>           comments
> Patch 4 - Fallout because I ran the patches through my Coverity checker.
> Patch 5 - Similar to IOThread - adjust the GetVcpuInfo CPU Affinity algorithm
>           for the returned cpumap
> Patch 5 - Similar to IOThread - adjust the GetEmulatorInfo CPU Affinity
>           algorithm for the returned cpumap
> 
> John Ferlan (6):
>   Fix syntax for vcpupin description
>   Remove ReadOnly check for GetIOThreadsInfo
>   qemu: Change/Fix IOThread CPU affinity bitmap manipulation
>   qemu: Resolve Coverity CHECKED_RETURN issue
>   qemu: Change qemuDomainGetVcpuPinInfo bitmap manipulation
>   qemu: Change qemuDomainGetEmulatorPinInfo bitmap manipulation
> 
>  src/libvirt-domain.c   |   1 -
>  src/qemu/qemu_driver.c | 177 +++++++++++++++++++++----------------------------
>  tools/virsh.pod        |   4 +-
>  3 files changed, 76 insertions(+), 106 deletions(-)

ACK series, thanks for touching up VcpuInfo and EmulatorInfo as well!

There's one bug that I noticed:
If the CPUs are pinned domain-wide, that is:
  <vcpu placement='static' cpuset='0-1'>4</vcpu>
  <iothreads>2</iothreads>

Both vcpu threads and iothreads will inherit this pinning.

For a shutoff domain, vcpupininfo will display 0-1 for all vcpus, but
iothreadsinfo shows 0-4, even though they will get pinned to 0-1 after
domain startup.

Turns out the vpcupin info is filled for all the vcpus when the XML is
parsed since commit 10f8a45deb0f057a70a0d49794d3a3d19d17dceb

Falling back to targetDef->cpumask in qemuDomainGetIOThreadsConfig
(as qemuDomainGetEmulatorPinInfo does) would solve that too.

Jan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150308/51ac1b84/attachment-0001.sig>


More information about the libvir-list mailing list