From mboxrd@z Thu Jan 1 00:00:00 1970 From: Izik Eidus Subject: Re: kvm userspace: ksm support Date: Mon, 03 Aug 2009 21:09:38 +0300 Message-ID: <4A7727E2.4060906@redhat.com> References: <20090728193959.49cc28b6@woof.woof> <200908031308.24804.iggy@theiggy.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: Brian Jackson Return-path: Received: from mx2.redhat.com ([66.187.237.31]:55297 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752409AbZHCSL1 (ORCPT ); Mon, 3 Aug 2009 14:11:27 -0400 In-Reply-To: <200908031308.24804.iggy@theiggy.com> Sender: kvm-owner@vger.kernel.org List-ID: Brian Jackson wrote: > If someone wanted to play around with ksm in qemu-kvm-0.x.x would it be as > simple as adding the below additions to kvm_setup_guest_memory in kvm-all.c qemu-kvm-0.x.x doesnt tell me much, but if it is the function that register the memory than yes... (I just remember that qemu used to have something called phys_ram_base, in that case it would be just making madvise on phys_ram_base with the same of phys_ram_size....) > > (and adding the necessary kernel changes of course)? > > > On Tuesday 28 July 2009 11:39:59 am Izik Eidus wrote: > >> This patch is not for inclusion just rfc. >> >> Thanks. >> >> >> From 1297b86aa257100b3d819df9f9f0932bf4f7f49d Mon Sep 17 00:00:00 2001 >> From: Izik Eidus >> 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 >> --- >> 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); >> +#endif >> } >> new_block->offset = last_ram_offset; >> new_block->length = size; >>