[libvirt] [PATCH v2 1/2] XML definitions for guest NUMA and parsing routines

Bharata B Rao bharata at linux.vnet.ibm.com
Wed Dec 7 05:25:17 UTC 2011

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 at 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


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)


More information about the libvir-list mailing list