From patchwork Wed May 12 21:24:55 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [01/12] Fix -mem-path with hugetlbfs Date: Wed, 12 May 2010 11:24:55 -0000 From: Marcelo Tosatti X-Patchwork-Id: 52428 Message-Id: <618a568da4eda5c2e41fc4e58059546806afff6b.1273699506.git.mtosatti@redhat.com> To: Anthony Liguori Cc: Marcelo Tosatti , qemu-devel@nongnu.org, kvm@vger.kernel.org, Avi Kivity Fallback to qemu_vmalloc in case file_ram_alloc fails. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity --- exec.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/exec.c b/exec.c index 3416aed..56b5561 100644 --- a/exec.c +++ b/exec.c @@ -2775,8 +2775,12 @@ ram_addr_t qemu_ram_alloc(ram_addr_t size) if (mem_path) { #if defined (__linux__) && !defined(TARGET_S390X) new_block->host = file_ram_alloc(size, mem_path); - if (!new_block->host) - exit(1); + if (!new_block->host) { + new_block->host = qemu_vmalloc(size); +#ifdef MADV_MERGEABLE + madvise(new_block->host, size, MADV_MERGEABLE); +#endif + } #else fprintf(stderr, "-mem-path option unsupported\n"); exit(1);