[libvirt] [PATCH 2/5] schemas: Add schemas for more CPU topology information in the caps XML
Daniel P. Berrange
berrange at redhat.com
Tue Jan 22 17:00:26 UTC 2013
On Sat, Jan 19, 2013 at 12:06:39AM +0100, Peter Krempa wrote:
> This patch adds RNG schemas for adding more information in the topology
> output of the NUMA section in the capabilities XML.
>
> The added elements are designed to provide more information about the
> placement and topology of the processors in the system to management
> applications.
>
> A demonstration of supported XML added by this patch:
> <capabilities>
> <host>
> <topology>
> <cells num='3'>
> <cell id='0'>
> <cpus num='4'> <!-- this is node with Hyperthreading -->
> <cpu id='0' socket_id='0' core_id='0' siblings='0-1'/>
> <cpu id='1' socket_id='0' core_id='0' siblings='0-1'/>
> <cpu id='2' socket_id='0' core_id='1' siblings='2-3'/>
> <cpu id='3' socket_id='0' core_id='1' siblings='2-3'/>
> </cpus>
> </cell>
> <cell id='1'>
> <cpus num='4'> <!-- this is node with modules (Bulldozer) -->
> <cpu id='4' socket_id='0' core_id='2' siblings='4-5'/>
> <cpu id='5' socket_id='0' core_id='3' siblings='4-5'/>
> <cpu id='6' socket_id='0' core_id='4' siblings='6-7'/>
> <cpu id='7' socket_id='0' core_id='5' siblings='6-7'/>
> </cpus>
> </cell>
> <cell id='2'>
> <cpus num='4'> <!-- this is a normal multi-core node -->
> <cpu id='8' socket_id='1' core_id='0' siblings='8'/>
> <cpu id='9' socket_id='1' core_id='1' siblings='9'/>
> <cpu id='10' socket_id='1' core_id='2' siblings='10'/>
> <cpu id='11' socket_id='1' core_id='3' siblings='11'/>
> </cpus>
> </cell>
> </cells>
> </topology>
> </host>
> </capabilities>
>
> The socket_id field represents identification of the physical socket the
> CPU is plugged in. This ID may not be identical to the physical socket
> ID reported by the kernel.
>
> The core_id identifies a core within a socket. Also this field may not
> accurately represent physical ID's.
>
> The core_id is guaranteed to be unique within a cell and a socket. There
> may be duplicates between sockets. Only cores sharing core_id within one
> cell and one socket can be considered as threads. Cores sharing core_id
> within sparate cells are distinct cores.
>
> The siblings field is a list of CPU id's the cpu id's the CPU is sibling
> with - thus a thread. The list is in the cpuset format.
> ---
> docs/schemas/capability.rng | 11 +++++++++++
> 1 file changed, 11 insertions(+)
ACK, this looks much better.
I was about to complain about the lack of docs for the new
XML, but I see we've not documented *any* of the capabilities
XML, so I wouldn't block you on that.
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