[libvirt] cpuset / numa and qemu in TCG mode

Tony Breeds tony at bakeyournoodle.com
Mon May 11 00:52:46 UTC 2015


Hello all,
    This is with reference to OpenStack (nova) bug 1439280 [1].

The symptom is when nova(-compute) tries to launch an instance/VM it errors out with:
    "libvirtError: Requested operation is not valid: cpu affinity is not supported"
This only happens with using qemu in TCG mode.

After looking at the domain XML and the docs at [2]  It seems to me the problem is either:
1) the libvirt driver in nova is generating valid XML that is an invalid
   domain description ; or
2) NUMA support in qemu (TCG) mode is broken.

Exploring these options a little further:

Option 1:  the libvirt driver in nova is generating valid XML that is an
invalid domain description
====

This is the relevant section of the domain XML
---
  <vcpu placement='static' cpuset='0-1'>1</vcpu>
  <cputune>
    <shares>1024</shares>
  </cputune>
---

To my reading of [2] the domain XML should either avoid specifying the 'cpuset'
in the vcpu node ; or include 'emulatorpin' in the cputune node.

Have I understood the documentation correctly?  If so it would seem that the
correct fix is in nova to teach the libvirt driver to generate the correct XML
for this virtulisation type.

Option 2: NUMA support in qemu (TCG) mode is broken.
====

Is cpuset and NUMA architecture expected to work in qemu when running in TCG
mode?  If it is then clearly we need to dig into this and fix qemu.


Yours Tony.

[1] https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1439280
[2] https://libvirt.org/formatdomain.html#elementsCPUAllocation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150511/d672820d/attachment-0001.sig>


More information about the libvir-list mailing list