Discussion:
[linux-mm-cc] Fwd: [PATCH 0/3] zram: generic RAM based compressed R/W block devices
Nitin Gupta
2010-05-27 14:17:02 UTC
Permalink
Hi All,

FYI...

Entire thread can be found here:
http://thread.gmane.org/gmane.linux.drivers.driver-project.devel/6414

Any comments/reviews/test results welcome!

Thanks,
Nitin


-------- Original Message --------
Subject: [PATCH 0/3] zram: generic RAM based compressed R/W block devices
Date: Mon, 24 May 2010 19:48:02 +0530
From: Nitin Gupta <ngupta at vflare.org>
To: Greg KH <greg at kroah.com>
CC: Pekka Enberg <penberg at cs.helsinki.fi>, Andrew Morton <akpm at linux-foundation.org>, Minchan Kim <minchan.kim at gmail.com>, Hugh Dickins <hugh.dickins at tiscali.co.uk>, Cyp <cyp561 at gmail.com>, driverdev <devel at driverdev.osuosl.org>, linux-kernel <linux-kernel at vger.kernel.org>

Creates RAM based block devices: /dev/zramX (X = 0, 1, ...).
Pages written to these disks are compressed and stored in memory
itself. These disks allow very fast I/O and compression provides
good amounts of memory savings.

This is enhancement over existing ramzswap driver which creates
virtual block devices (/dev/ramzswapX) which could be used only
as swap disks.

Now, with the ability to handle any kind of I/O request, zram
devices have lot more use cases:
- /tmp storage
- various caches under /var
- swap disks
- maybe even more! :)

Performance numbers can be found at:
http://code.google.com/p/compcache/wiki/zramperf

Patch 1 makes core changes to support handling generic I/O
requests. Subsequent patches rename ramzswap* files to zram*
and similar changes in code and documentation.

Nitin Gupta (3):
Support generic I/O requests
Rename ramzswap to zram in code.
Rename ramzswap to zram in documentation

drivers/staging/Kconfig | 2 +-
drivers/staging/Makefile | 2 +-
drivers/staging/ramzswap/Kconfig | 21 -
drivers/staging/ramzswap/Makefile | 3 -
drivers/staging/ramzswap/ramzswap.txt | 51 --
drivers/staging/ramzswap/ramzswap_drv.c | 837 -----------------------------
drivers/staging/ramzswap/ramzswap_drv.h | 167 ------
drivers/staging/ramzswap/ramzswap_ioctl.h | 42 --
drivers/staging/ramzswap/xvmalloc.c | 507 -----------------
drivers/staging/ramzswap/xvmalloc.h | 30 -
drivers/staging/ramzswap/xvmalloc_int.h | 86 ---
drivers/staging/zram/Kconfig | 24 +
drivers/staging/zram/Makefile | 3 +
drivers/staging/zram/xvmalloc.c | 507 +++++++++++++++++
drivers/staging/zram/xvmalloc.h | 30 +
drivers/staging/zram/xvmalloc_int.h | 86 +++
drivers/staging/zram/zram.txt | 62 +++
drivers/staging/zram/zram_drv.c | 809 ++++++++++++++++++++++++++++
drivers/staging/zram/zram_drv.h | 167 ++++++
drivers/staging/zram/zram_ioctl.h | 42 ++
20 files changed, 1732 insertions(+), 1746 deletions(-)
delete mode 100644 drivers/staging/ramzswap/Kconfig
delete mode 100644 drivers/staging/ramzswap/Makefile
delete mode 100644 drivers/staging/ramzswap/ramzswap.txt
delete mode 100644 drivers/staging/ramzswap/ramzswap_drv.c
delete mode 100644 drivers/staging/ramzswap/ramzswap_drv.h
delete mode 100644 drivers/staging/ramzswap/ramzswap_ioctl.h
delete mode 100644 drivers/staging/ramzswap/xvmalloc.c
delete mode 100644 drivers/staging/ramzswap/xvmalloc.h
delete mode 100644 drivers/staging/ramzswap/xvmalloc_int.h
create mode 100644 drivers/staging/zram/Kconfig
create mode 100644 drivers/staging/zram/Makefile
create mode 100644 drivers/staging/zram/xvmalloc.c
create mode 100644 drivers/staging/zram/xvmalloc.h
create mode 100644 drivers/staging/zram/xvmalloc_int.h
create mode 100644 drivers/staging/zram/zram.txt
create mode 100644 drivers/staging/zram/zram_drv.c
create mode 100644 drivers/staging/zram/zram_drv.h
create mode 100644 drivers/staging/zram/zram_ioctl.h

Loading...