
On Thu, May 05, 2011 at 05:38:29PM +0800, Osier Yang wrote:
Just prepend numactl command line to qemu command line. --- src/qemu/qemu_command.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 2205ed1..156fdfb 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -2762,7 +2762,23 @@ qemuBuildCommandLine(virConnectPtr conn, break; }
+#ifdef HAVE_NUMACTL + /* XXX: Logic here to build numactl commmand line need to be changed if + * more NUMA tuning related stuffs in future. + */ + if (def->numatune.membind.nodeset) { + cmd = virCommandNewArgList(NUMACTL, + "-m", + def->numatune.membind.nodeset, + NULL); + + virCommandAddArgList(cmd, emulator, "-S", NULL); + } else { + cmd = virCommandNewArgList(emulator, "-S", NULL); + } +#else cmd = virCommandNewArgList(emulator, "-S", NULL); +#endif
NACK to this approach. We should be using the libnuma APIs to set the memory binding for the process directly, and not running the numactl command. Regards, 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 :|