zram: Compressed RAM based block devices
----------------------------------------

Project home: http://compcache.googlecode.com/

* Introduction

The zram module creates RAM based block devices named /dev/zram<id>
(<id> = 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. Some of the usecases include /tmp storage,
use as swap disks, various caches under /var and maybe many more :)

Statistics for individual zram devices are exported through sysfs nodes at
/sys/block/zram<id>/

* Usage

Following shows a typical sequence of steps for using zram.

1) Load Module:
	modprobe zram num_devices=4
	This creates 4 devices: /dev/zram{0,1,2,3}
	(num_devices parameter is optional. Default: 1)

2) Set Disksize (Optional):
	Set disk size by writing the value to sysfs node 'disksize'
	(in bytes). If disksize is not given, default value of 25%
	of RAM is used.

	# Initialize /dev/zram0 with 50MB disksize
	echo $((50*1024*1024)) > /sys/block/zram0/disksize

	NOTE: disksize cannot be changed if the disk contains any
	data. So, for such a disk, you need to issue 'reset' (see below)
	before you can change its disksize.

3) Activate:
	mkswap /dev/zram0
	swapon /dev/zram0

	mkfs.ext4 /dev/zram1
	mount /dev/zram1 /tmp

4) Stats:
	Per-device statistics are exported as various nodes under
	/sys/block/zram<id>/
		disksize
		num_reads
		num_writes
		invalid_io
		notify_free
		discard
		zero_pages
		orig_data_size
		compr_data_size
		mem_used_total

5) Deactivate:
	swapoff /dev/zram0
	umount /dev/zram1

6) Reset:
	Write any positive value to 'reset' sysfs node
	echo 1 > /sys/block/zram0/reset
	echo 1 > /sys/block/zram1/reset

	(This frees all the memory allocated for the given device).


Please report any problems at:
 - Mailing list: linux-mm-cc at laptop dot org
 - Issue tracker: http://code.google.com/p/compcache/issues/list

Nitin Gupta
ngupta@vflare.org
