From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:48125) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RiARg-0002Dy-Of for qemu-devel@nongnu.org; Tue, 03 Jan 2012 14:54:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RiARf-0001rX-7s for qemu-devel@nongnu.org; Tue, 03 Jan 2012 14:54:52 -0500 Received: from mail-iy0-f173.google.com ([209.85.210.173]:64893) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RiARf-0001rM-3V for qemu-devel@nongnu.org; Tue, 03 Jan 2012 14:54:51 -0500 Received: by iagj37 with SMTP id j37so36402927iag.4 for ; Tue, 03 Jan 2012 11:54:50 -0800 (PST) Message-ID: <4F035D05.1020800@codemonkey.ws> Date: Tue, 03 Jan 2012 13:54:45 -0600 From: Anthony Liguori MIME-Version: 1.0 References: <1325604879-15862-1-git-send-email-owasserm@redhat.com> <1325604879-15862-2-git-send-email-owasserm@redhat.com> In-Reply-To: <1325604879-15862-2-git-send-email-owasserm@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed 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: Orit Wasserman Cc: blauwirbel@gmail.com, stefanha@gmail.com, qemu-devel@nongnu.org, quintela@redhat.com 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 Regards, Anthony Liguori