Izik Eidus
Tue, 28 Jul 2009 09:53:05 -0700
Anthony Liguori wrote:
Izik Eidus wrote:This patch is not for inclusion just rfc.The madvise() interface looks really nice :-)Thanks. From 1297b86aa257100b3d819df9f9f0932bf4f7f49d Mon Sep 17 00:00:00 2001 From: Izik Eidus <iei...@redhat.com> Date: Tue, 28 Jul 2009 19:14:26 +0300 Subject: [PATCH] kvm userspace: ksm support rfc for ksm support to kvm userpsace. thanks Signed-off-by: Izik Eidus <iei...@redhat.com> --- exec.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/exec.c b/exec.c index f6d9ec9..375cc18 100644 --- a/exec.c +++ b/exec.c @@ -2595,6 +2595,9 @@ ram_addr_t qemu_ram_alloc(ram_addr_t size) new_block->host = file_ram_alloc(size, mem_path); if (!new_block->host) { new_block->host = qemu_vmalloc(size); +#ifdef MADV_MERGEABLE + madvise(new_block->host, size, MADV_MERGEABLE); +#endifAre madvise calls additive?Do we need to change the madvise balloon calls to include MADV_MERGEABLE or will this carry the property forever?
You mean: when we later call for other madvise calls, if it will remove the MADV_MERGEABLE from that memory?
if yes, the answer is no, it should be still l left in the vma->vm_flags...
I'd suggest doing the following in osdep.h too: #if !defined(MADV_MERGABLE) #define MADV_MERGABLE MADV_NORMAL #endif To avoid #ifdefs in .c files.
I tried to follow the way DONTFORK madvise is working... So you say, just to throw this thing into osdep.h instead of that c file?
Regards, Anthony Liguori} new_block->offset = last_ram_offset; new_block->length = size;
-- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html