[linux-mm-cc] Fwd: [PATCH 0/3] zram: generic RAM based compressed R/W block devices

Nitin Gupta ngupta at vflare.org
Thu May 27 10:17:02 EDT 2010


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




More information about the linux-mm-cc mailing list