From: Izik Eidus Date: Tue, 28 Jul 2009 16:14:26 +0000 (+0300) Subject: kvm userspace: ksm support X-Git-Tag: qemu-0.11.0-1.fc12~1 X-Git-Url: https://repo.or.cz/w/qemu-kvm/fedora.git/commitdiff_plain/c6c94b043e8b3593d0beb52966dce43069233840 kvm userspace: ksm support rfc for ksm support to kvm userpsace. Signed-off-by: Izik Eidus signed-off-by: Justin M. Forbes Signed-off-by: Mark McLoughlin Fedora-patch: qemu-add-ksm-support.patch --- diff --git a/exec.c b/exec.c index 0655b4b55d..a0e220310b 100644 --- a/exec.c +++ b/exec.c @@ -65,6 +65,9 @@ #undef DEBUG_TB_CHECK #endif +/* Quick hack to enable KSM support */ +#define MADV_MERGEABLE 12 /* KSM may merge identical pages */ + #define SMC_BITMAP_USE_THRESHOLD 10 #if defined(TARGET_SPARC64) @@ -2579,6 +2582,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); +#endif } new_block->offset = last_ram_offset; new_block->length = size;