1. 13 11月, 2017 3 次提交
    • W
      libxl: vnuma support · c9a5682f
      Wim ten Have 提交于
      This patch generates a NUMA distance-aware libxl description from the
      information extracted from a NUMA distance-aware libvirt XML file.
      
      By default, if no NUMA node distance information is supplied in the
      libvirt XML file, this patch uses the distances 10 for local and 20
      for remote nodes/sockets.
      Signed-off-by: NWim ten Have <wim.ten.have@oracle.com>
      Reviewed-by: NJim Fehlig <jfehlig@suse.com>
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      c9a5682f
    • W
      xenconfig: add domxml conversions for xen-xl · 03d0959a
      Wim ten Have 提交于
      This patch converts NUMA configurations between the Xen libxl
      configuration file format and libvirt's XML format.
      
      XML HVM domain on a 4 node (2 cores/socket) configuration:
      
        <cpu>
          <numa>
            <cell id='0' cpus='0-1' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='10'/>
                <sibling id='1' value='21'/>
                <sibling id='2' value='31'/>
                <sibling id='3' value='21'/>
              </distances>
            </cell>
            <cell id='1' cpus='2-3' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='21'/>
                <sibling id='1' value='10'/>
                <sibling id='2' value='21'/>
                <sibling id='3' value='31'/>
              </distances>
            </cell>
            <cell id='2' cpus='3-4' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='31'/>
                <sibling id='1' value='21'/>
                <sibling id='2' value='10'/>
                <sibling id='3' value='21'/>
              </distances>
            </cell>
            <cell id='3' cpus='5-6' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='21'/>
                <sibling id='1' value='31'/>
                <sibling id='2' value='21'/>
                <sibling id='3' value='10'/>
              </distances>
            </cell>
          </numa>
        </cpu>
      
      Xen xl.cfg domain configuration:
      
        vnuma = [["pnode=0","size=2048","vcpus=0-1","vdistances=10,21,31,21"],
                 ["pnode=1","size=2048","vcpus=2-3","vdistances=21,10,21,31"],
                 ["pnode=2","size=2048","vcpus=4-5","vdistances=31,21,10,21"],
                 ["pnode=3","size=2048","vcpus=6-7","vdistances=21,31,21,10"]]
      
      If there is no XML <distances> description amongst the <cell> data the
      conversion schema from xml to native will generate 10 for local and 20
      for all remote instances.
      Signed-off-by: NWim ten Have <wim.ten.have@oracle.com>
      Reviewed-by: NJim Fehlig <jfehlig@suse.com>
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      03d0959a
    • W
      numa: describe siblings distances within cells · 74119a03
      Wim ten Have 提交于
      Add support for describing NUMA distances in a domain's <numa> <cell>
      XML description.
      
      Below is an example of a 4 node setup:
      
        <cpu>
          <numa>
            <cell id='0' cpus='0-3' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='10'/>
                <sibling id='1' value='21'/>
                <sibling id='2' value='31'/>
                <sibling id='3' value='21'/>
              </distances>
            </cell>
            <cell id='1' cpus='4-7' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='21'/>
                <sibling id='1' value='10'/>
                <sibling id='2' value='21'/>
                <sibling id='3' value='31'/>
              </distances>
            </cell>
            <cell id='2' cpus='8-11' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='31'/>
                <sibling id='1' value='21'/>
                <sibling id='2' value='10'/>
                <sibling id='3' value='21'/>
              </distances>
            <cell id='3' cpus='12-15' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='21'/>
                <sibling id='1' value='31'/>
                <sibling id='2' value='21'/>
                <sibling id='3' value='10'/>
              </distances>
            </cell>
          </numa>
        </cpu>
      
      A <cell> defines a NUMA node. <distances> describes the NUMA distance
      from the <cell> to the other NUMA nodes (the <sibling>s).  For example,
      in above XML description, the distance between NUMA node0 <cell id='0'
      ...> and NUMA node2 <sibling id='2' ...> is 31.
      
      Valid distance values are '10 <= value <= 255'.  A distance value of 10
      represents the distance to the node itself.  A distance value of 20
      represents the default value for remote nodes but other values are
      possible depending on the physical topology of the system.
      
      When distances are not fully described, any missing sibling distance
      values will default to 10 for local nodes and 20 for remote nodes.
      
      If distance is given for A -> B, then we default B -> A to the same
      value instead of 20.
      Signed-off-by: NWim ten Have <wim.ten.have@oracle.com>
      Reviewed-by: NDaniel P. Berrange <berrange@redhat.com>
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      74119a03
  2. 12 11月, 2017 1 次提交
  3. 10 11月, 2017 6 次提交
  4. 09 11月, 2017 2 次提交
  5. 08 11月, 2017 28 次提交