On Wed, Dec 07, 2011 at 03:49:59PM +1100, Michael Ellerman wrote:
On Fri, 2011-11-11 at 18:21 +0530, Bharata B Rao wrote:
> XML definitions for guest NUMA and parsing routines.
>
> From: Bharata B Rao <bharata(a)linux.vnet.ibm.com>
>
> This patch adds XML definitions for guest NUMA specification and contains
> routines to parse the same. The guest NUMA specification looks like this:
>
> <cpu>
> ...
> <topology sockets='2' cores='4' threads='2'/>
> <numa>
> <cell cpus='0-7' memory='512000'/>
> <cell cpus='8-15' memory='512000'/>
> </numa>
> ...
> </cpu>
Hi Bharata,
I realise I'm a bit late on this, but I'm just catching up on the list
traffic.
Firstly why is the XML tag called "cell", it seems to represent what we
would normally call a "node" in terms of NUMA?
I initially started out with "node", but in libvirt node is referred
to as "cell". Hence stuck to "cell" to be consistent.
Also does the parser support disjoint ranges for cpus and memory? Or do
we not need that complexity for some reason?
For example what if I have a topology that looks like:
Node 0:
CPUs: 0-3,8-11
This is supported, and since we use the same parsing routine that parses
cpuset, we support fancy stuff like
cpus-0-4^3,8-11
But such things aren't support by QEMU currently.
MEM : 0-1G,2G-3G
QEMU currently doesn't support such construct. Do we really want this
in guest topology ? There are some wierd NUMA topologies in the real world
which aren't supported as of now, we wanted to start simple and if needed
support futher extensions (Refer to discussions on my v0 post)
Regards,
Bharata.