From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:55415) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RiNAX-0008G7-2v for qemu-devel@nongnu.org; Wed, 04 Jan 2012 04:30:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RiNAV-0006p5-Pk for qemu-devel@nongnu.org; Wed, 04 Jan 2012 04:30:01 -0500 Received: from mx1.redhat.com ([209.132.183.28]:30243) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RiNAV-0006or-JD for qemu-devel@nongnu.org; Wed, 04 Jan 2012 04:29:59 -0500 Message-ID: <4F041BE8.80407@redhat.com> Date: Wed, 04 Jan 2012 11:29:12 +0200 From: Orit Wasserman MIME-Version: 1.0 References: <1325604879-15862-1-git-send-email-owasserm@redhat.com> <1325604879-15862-2-git-send-email-owasserm@redhat.com> <4F035D05.1020800@codemonkey.ws> In-Reply-To: <4F035D05.1020800@codemonkey.ws> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v5 1/9] Add cache handling functions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: blauwirbel@gmail.com, stefanha@gmail.com, qemu-devel@nongnu.org, quintela@redhat.com On 01/03/2012 09:54 PM, Anthony Liguori wrote: > On 01/03/2012 09:34 AM, Orit Wasserman wrote: >> Add page caching mechanism. >> The pages are stored in the cache ordered by their address. >> >> Signed-off-by: Orit Wasserman >> --- >> arch_init.c | 183 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> 1 files changed, 183 insertions(+), 0 deletions(-) >> >> diff --git a/arch_init.c b/arch_init.c >> index d4c92b0..fdda277 100644 >> --- a/arch_init.c >> +++ b/arch_init.c >> @@ -28,6 +28,7 @@ >> #include >> #include >> #endif >> +#include >> #include "config.h" >> #include "monitor.h" >> #include "sysemu.h" >> @@ -42,6 +43,14 @@ >> #include "gdbstub.h" >> #include "hw/smbios.h" >> >> +#ifdef DEBUG_ARCH_INIT >> +#define DPRINTF(fmt, ...) \ >> + do { fprintf(stdout, "arch_init: " fmt, ## __VA_ARGS__); } while (0) >> +#else >> +#define DPRINTF(fmt, ...) \ >> + do { } while (0) >> +#endif >> + >> #ifdef TARGET_SPARC >> int graphic_width = 1024; >> int graphic_height = 768; >> @@ -94,6 +103,180 @@ const uint32_t arch_type = QEMU_ARCH; >> #define RAM_SAVE_FLAG_EOS 0x10 >> #define RAM_SAVE_FLAG_CONTINUE 0x20 >> >> +/***********************************************************/ >> +/* Page cache for storing previous pages as basis for XBRLE compression */ >> +#define CACHE_N_WAY 2 /* 2-way assossiative cache */ > > Is there any reason we can't just use a GCache for this? > > http://developer.gnome.org/glib/stable/glib-Caches.html I'm not familiar with I will check. Is it 2-way associative cache ? Orit > > Regards, > > Anthony Liguori