* Richard W.M. Jones <rjones@xxxxxxxxxx> [2007-09-06 09:45]: > Daniel Veillard wrote: > >1) Provide a function describing the topology as an XML instance: > > > > char * virNodeGetTopology(virConnectPtr conn); > > >which would return an XML instance as in virConnectGetCapabilities. I > >toyed with the idea of extending virConnectGetCapabilities() to add a > >topology section in case of NUMA support at the hypervisor level, but > >it was looking to me that the two might be used at different times > >and separating both might be a bit cleaner, but I could be convinced > >otherwise. > > I'd definitely prefer to extend virConnectGetCapabilities XML. It > avoids changing the remote driver and language bindings, and really > callers only need to pull capabilities once per connection. > > >--------------------------------- > ><topology> > > <cells num='2'> > > <cell id='0'> > > <cpus num='2'> > > <cpu id='0'/> > > <cpu id='1'/> > > </cpus> > > <memory size='2097152'/> > > </cell> > > <cell id='1'> > > <cpus num='2'> > > <cpu id='2'/> > > <cpu id='3'/> > > </cpus> > > <memory size='2097152'/> > > </cell> > > </cells> > ></topology> > >--------------------------------- > > > > A few things to note: > > - the <cells> element list the top sibling cells > > Not <nodes>? > > > - the <cell> element describes as child the resources available > > like the list of CPUs, the size of the local memory, that could > > be extended by disk descriptions too > > <disk dev='/dev/sdb'/> > > and possibly other special devices (no idea what ATM). > > > > - in case of deeper hierarchical topology one may need to be able to > > name sub-cells and the format could be extended for example as > > <cells num='2'> > > <cells num='2'> > > <cell id='1'> > > ... > > </cell> > > <cell id='2'> > > ... > > </cell> > > </cells> > > <cells num='2'> > > <cell id='3'> > > ... > > </cell> > > <cell id='4'> > > ... > > </cell> > > </cells> > > </cells> > > But that can be discussed/changed when the need arise :-) > > Especially note that 4 (or more) socket AMDs have a topology like this, > with two different penalties for reaching nodes which are one and two > hops away. Do we have a way to describe the penalties along different > paths? The SLIT table provides distance cost values. Xen isn't messing with SLIT information at the moment. I'm not sure about Linux or Sun, but I would expect that they would. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@xxxxxxxxxx -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list