[PATCH 0/4]: NUMA: add host binding

Andre Przywara
2010-08-11T13:52:26Z

Hi,

the following 4 patches add NUMA host binding to qemu(-kvm).
They allow to specify NUMA policies to be applied to each of the
(separately specified) guest NUMA nodes. It mimics numactl's syntax,
allowing "membind", "preferred" and "interleave" as possible
policies. An example is:
$ qemu -smp 4 ... -numa node,cpus=0,mem=1024M \
-numa node,cpus=1-2,mem=2048M -numa node,cpus=3,mem=1024M \
-numa host,nodeid=0,membind=0 -numa host,nodeid=1,interleave=0-1 \
-numa host,nodeid=2,preferred=!0
The complete syntax is: -numa host,nodeid=<n>,\
(membind|preferred|interleave)=[+!]<hostnode>[-<hostnode>]
The '+' denotes CPUSET relative nodes, '!' means negation
(see numactl(8)).
As it can be easier done from outside of QEMU, I completely left out
vCPU binding, AFAIK management applications do this today already.

This version is based on the new generic bitmap code submitted with
patch 11/15 of the VNC update by Corentin Chary on Aug 11th:
http://lists.gnu.org/archive/html/qemu-devel/2010-08/msg00517.html
So it requires this patch to build (but not to apply).

Please comment!

Regards,
Andre.

--
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany