2008-03-24 15:05:05

by Nitin Gupta

[permalink] [raw]
Subject: [PATCH 0/6]: compcache: Compressed Caching

Hi All,

(sending to lkml since I didn't get any reply at linux-mm).

This implements a RAM based block device which acts as swap disk.
Pages swapped to this disk are compressed and stored in memory itself.
This allows more applications to fit in given amount of memory. This is
especially useful for embedded devices, OLPC and small desktops
(aka virtual machines).

Project home: http://code.google.com/p/compcache/

It consists of following components:
- compcache.ko: Creates RAM based block device
- tlsf.ko: Two Level Segregate Fit (TLSF) allocator
- LZO de/compressor: (Already in mainline)

Project home contains some performance numbers for TLSF and LZO.
For general desktop use, this is giving *significant* performance gain
under memory pressure. For now, it has been tested only on x86.

Thanks,
Nitin


2008-03-24 18:16:01

by Nitin Gupta

[permalink] [raw]
Subject: Re: [PATCH 0/6]: compcache: Compressed Caching

On Mon, Mar 24, 2008 at 9:51 PM, Wander Winkelhorst
<[email protected]> wrote:
>
> On Mon, Mar 24, 2008 at 4:00 PM, Nitin Gupta <[email protected]>
> wrote:
> > Hi All,
> >
>
> Hi,
>
>
> > (sending to lkml since I didn't get any reply at linux-mm).
> >
> > This implements a RAM based block device which acts as swap disk.
> > Pages swapped to this disk are compressed and stored in memory itself.
> > This allows more applications to fit in given amount of memory. This is
> > especially useful for embedded devices, OLPC and small desktops
> > (aka virtual machines).
> >
>
> I think this is a very interesting patch, but I find the name confusing, it
> isn't actually a compresed cache, now is it? It's just a compressed ramdisk.

In future, I intend to extend it to include page-cache compression also.

> Is it possible to use it as a initramfs as well?
I guess not since R/W have to be page-aligned in this case.

> How many can I run at the same time?
>

Only 1 for now :)


>
> >
> > Project home: http://code.google.com/p/compcache/
> >
>
> This page shows the usage as:
>
> Loading: run 'use_compcache.sh <size of swap device (KB)>' to load all
> required modules and setup swap device. If size is not specified, default
> size of 25% of RAM is used.
>
> Does that mean that if I load compcache without using it, I still lose 25%
> of my memory? Or is the memory dynamically allocated?
>

Memory is dynamically allocated.


Thanks,
Nitin


> Regards,
> Wander Winkelhorst
>