so I was able to upgrade to the indicated versions. Had to go to Fedora 25,
since it natively supports these versions, and centos doesn't. upgrading
centos proved to be unreasonably difficult for me.
After upgrading I added the syntax as described in the docs. I have
configured 4 vcpus and 2 numa nodes. Node 0 has vcpus 0-1 and node 1 has
vcpus 2-3. Configured two pci-expander-buses: index 1 assigned to node 0
and index 2 assigned to node 1.
I use these indices for the bus values in the interfaces. But on booting up
the system, only the interfaces connected to node 1 are visible to the
guest OS.
Not sure why that would be.
If there are any ideas, that would be great.
Happy thanksgiving to the US folks.
On 22 November 2016 at 08:04, Amir Shehata <amir.shehata.whamcloud(a)gmail.com
wrote:
> Laine,
>
> Thanks. You're correct that I haven't gotten to use the new pci bus yet.
>
> I'm currently trying to upgrade to the versions you specified. Just having
> a bunch of problems... I'll let you know the results of the experiment once
> I sort them out.
>
> thanks
> amir
>
> On 21 November 2016 at 14:06, Laine Stump <laine(a)laine.org
wrote:
>
>> On 11/21/2016 04:48 PM, Amir Shehata wrote:
>>
>>> Laine,
>>>
>>> Thank you for your response.
>>>
>>> I did use the numa element instead of using qemu commandline and that
>>> worked:
>>>
>>> 16 <cpu mode='custom' match='exact'>
>>> ...
>>> 34 <numa>
>>> 35 <cell id='0' cpus='0-1' memory='1048576'
unit='KiB'/>
>>> 36 <cell id='1' cpus='2-3' memory='1048576'
unit='KiB'/>
>>> 37 </numa>
>>> 38 </cpu>
>>>
>>> However, whenever I try to use the pci-expander-bus I get:
>>> error: XML document failed to validate against schema: Unable to
>>> validate doc against /usr/share/libvirt/schemas/domain.rng
>>> Extra element devices in interleave
>>> Element domain failed to validate content
>>>
>>
>> Sorry, I forgot to mention that pci-expander-bus is a fairly recent
>> addition to libvirt and qemu. For libvirt support of that controller,
>> you'll need at least libvirt 1.3.4, and qemu 2.4.0. Anything earlier than
>> that and the guest OS won't have any visibility to the NUMA node of
>> specific devices.
>>
>>
>>
>>> I tried the following
>>>
>>> 93 <controller type='pci' index='1'
model='pci-expander-bus'>
>>> 94 <address type='pci' domain='0x0000'
bus='0x00' slot='0x0b'
>>> function='0x0'/>
>>> 95 </controller>
>>>
>>> and
>>>
>>> 93 <controller type='pci' index='1'
model='pci-expander-bus'>
>>> 94 <target busNr='254'>
>>> 95 <node>1</node>
>>> 96 </target>
>>> 97 <address type='pci' domain='0x0000'
bus='0x00' slot='0x0b'
>>> function='0x0'/>
>>> 98 </controller>
>>>
>>>
>>> I got the syntax from:
https://www.redhat.com/archive
>>> s/libvir-list/2016-March/msg01224.html
>>>
>>> Just to give you a bit more info. This is running on:
>>> Linux ashehata-DellPE 3.19.0-51-generic #58-Ubuntu SMP Fri Feb 26
>>> 21:22:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
>>>
>>
>>
>>> below is a dump of the working XML file I'm using
>>>
>>
>> I notice you don't have any device with pci bus='1'. I'm assuming
you
>> just hadn't gotten to that part of the experiment yet, correct?
>>
>>
>>
>