[libvirt] CPU topology 'sockets' handling guest vs host

Doug Goldstein cardoe at gentoo.org
Fri Jun 8 04:40:14 UTC 2012


On Mon, Mar 26, 2012 at 9:42 AM, Daniel P. Berrange <berrange at redhat.com> wrote:
> On my x86_64 host I have a pair of Quad core CPUs, each in a separate
> NUMA node. The virsh capabilities
> topology data reports this:
>
>  # virsh capabilities | xmllint  --xpath /capabilities/host/cpu -
>  <cpu>
>      <arch>x86_64</arch>
>      <model>Opteron_G3</model>
>      <vendor>AMD</vendor>
>      <topology sockets="1" cores="4" threads="1"/>
>      <feature name="osvw"/>
>      <feature name="3dnowprefetch"/>
>      <feature name="cr8legacy"/>
>      <feature name="extapic"/>
>      <feature name="cmp_legacy"/>
>      <feature name="3dnow"/>
>      <feature name="3dnowext"/>
>      <feature name="pdpe1gb"/>
>      <feature name="fxsr_opt"/>
>      <feature name="mmxext"/>
>      <feature name="ht"/>
>      <feature name="vme"/>
>    </cpu>
>  # virsh capabilities | xmllint  --xpath /capabilities/host/topology -
>  <topology>
>      <cells num="2">
>        <cell id="0">
>          <cpus num="4">
>            <cpu id="0"/>
>            <cpu id="1"/>
>            <cpu id="2"/>
>            <cpu id="3"/>
>          </cpus>
>        </cell>
>        <cell id="1">
>          <cpus num="4">
>            <cpu id="4"/>
>            <cpu id="5"/>
>            <cpu id="6"/>
>            <cpu id="7"/>
>          </cpus>
>        </cell>
>      </cells>
>  </topology>
>
> Note, it is reporting sockets=1, because sockets is the number of sockets
> *per* NUMA node.
>
>
> Now I try to figure the guest to match the host using:
>
>  <cpu>
>    <topology sockets='1' cores='4' threads='1'/>
>    <numa>
>      <cell cpus='0-3' memory='512000'/>
>      <cell cpus='4-7' memory='512000'/>
>    </numa>
>  </cpu>
>
> And I get:
>
>  error: Maximum CPUs greater than topology limit
>
> So, the XML checker is mistaking 'sockets' as the total number of sockets,
> rather than the per-node socket count. We need to fix this bogus check
>

Has this been fixed in either 0.9.12 or master? Last I checked in
0.9.10 it was not and there has now been a lot of changes regarding
NUMA (mostly numad related but still)

Thanks.
-- 
Doug Goldstein




More information about the libvir-list mailing list