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

Daniel P. Berrange berrange at redhat.com
Mon Mar 26 14:42:58 UTC 2012


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

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list