peterdelevoryas / rpms / qemu

Forked from rpms/qemu 2 years ago
Clone

Blame qemu-add-ksm-support.patch

Mark McLoughlin 904b1d
From c6c94b043e8b3593d0beb52966dce43069233840 Mon Sep 17 00:00:00 2001
Mark McLoughlin fc7c34
From: Izik Eidus <ieidus@redhat.com>
Mark McLoughlin fc7c34
Date: Tue, 28 Jul 2009 19:14:26 +0300
Mark McLoughlin fc7c34
Subject: [PATCH] kvm userspace: ksm support
Mark McLoughlin fc7c34
Mark McLoughlin fc7c34
rfc for ksm support to kvm userpsace.
Mark McLoughlin fc7c34
Mark McLoughlin fc7c34
Signed-off-by: Izik Eidus <ieidus@redhat.com>
Mark McLoughlin ef961d
signed-off-by: Justin M. Forbes <jforbes@redhat.com>
Mark McLoughlin fc7c34
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Mark McLoughlin fc7c34
Fedora-patch: qemu-add-ksm-support.patch
Mark McLoughlin fc7c34
---
Mark McLoughlin ef961d
 exec.c |    6 ++++++
Mark McLoughlin ef961d
 1 files changed, 6 insertions(+), 0 deletions(-)
Mark McLoughlin fc7c34
Mark McLoughlin fc7c34
diff --git a/exec.c b/exec.c
Mark McLoughlin ef961d
index 0655b4b..a0e2203 100644
Mark McLoughlin fc7c34
--- a/exec.c
Mark McLoughlin fc7c34
+++ b/exec.c
Mark McLoughlin ef961d
@@ -65,6 +65,9 @@
Mark McLoughlin ef961d
 #undef DEBUG_TB_CHECK
Mark McLoughlin ef961d
 #endif
Mark McLoughlin ef961d
 
Mark McLoughlin ef961d
+/* Quick hack to enable KSM support */
Mark McLoughlin ef961d
+#define MADV_MERGEABLE 12 /* KSM may merge identical pages */
Mark McLoughlin ef961d
+
Mark McLoughlin ef961d
 #define SMC_BITMAP_USE_THRESHOLD 10
Mark McLoughlin ef961d
 
Mark McLoughlin ef961d
 #if defined(TARGET_SPARC64)
Mark McLoughlin ef961d
@@ -2579,6 +2582,9 @@ ram_addr_t qemu_ram_alloc(ram_addr_t size)
Mark McLoughlin fc7c34
     new_block->host = file_ram_alloc(size, mem_path);
Mark McLoughlin fc7c34
     if (!new_block->host) {
Mark McLoughlin fc7c34
         new_block->host = qemu_vmalloc(size);
Mark McLoughlin fc7c34
+#ifdef MADV_MERGEABLE
Mark McLoughlin fc7c34
+        madvise(new_block->host, size, MADV_MERGEABLE);
Mark McLoughlin fc7c34
+#endif
Mark McLoughlin fc7c34
     }
Mark McLoughlin fc7c34
     new_block->offset = last_ram_offset;
Mark McLoughlin fc7c34
     new_block->length = size;
Mark McLoughlin fc7c34
-- 
Mark McLoughlin fc7c34
1.6.2.5
Mark McLoughlin fc7c34