[libvirt] [PATCH] Qemu: ask for memory preallocation with large pages

The -mem-prealloc flag should be used when using large pages This ensures qemu tries to allocate all required memory immediately, rather than when first used. The latter mode will crash qemu if hugepages aren't available when accessed, while the former should gracefully fallback to non-hugepages. * src/qemu/qemu_conf.c: add -mem-prealloc flag to qemu command line when using large pages Daniel diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index 824055f..d3da776 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -2108,6 +2108,7 @@ int qemudBuildCommandLine(virConnectPtr conn, def->emulator); goto error; } + ADD_ARG_LIT("-mem-prealloc"); ADD_ARG_LIT("-mem-path"); ADD_ARG_LIT(driver->hugepage_path); } -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/

On Thu, Jan 07, 2010 at 02:53:20PM +0100, Daniel Veillard wrote:
The -mem-prealloc flag should be used when using large pages This ensures qemu tries to allocate all required memory immediately, rather than when first used. The latter mode will crash qemu if hugepages aren't available when accessed, while the former should gracefully fallback to non-hugepages.
* src/qemu/qemu_conf.c: add -mem-prealloc flag to qemu command line when using large pages
ACK, definitely don't want VMs crashing when attempting to page in huge pages which don't exist anymore Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

On Thu, Jan 07, 2010 at 05:31:59PM +0000, Daniel P. Berrange wrote:
On Thu, Jan 07, 2010 at 02:53:20PM +0100, Daniel Veillard wrote:
The -mem-prealloc flag should be used when using large pages This ensures qemu tries to allocate all required memory immediately, rather than when first used. The latter mode will crash qemu if hugepages aren't available when accessed, while the former should gracefully fallback to non-hugepages.
* src/qemu/qemu_conf.c: add -mem-prealloc flag to qemu command line when using large pages
ACK, definitely don't want VMs crashing when attempting to page in huge pages which don't exist anymore
okay, pushed, Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/
participants (2)
-
Daniel P. Berrange
-
Daniel Veillard