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. One of the major changes done is the replacement of ioctls with sysfs interface. One of the advantages of this approach is we no longer depend on the userspace tool (rzscontrol) which was used to set various parameters and check statistics. Maintaining updated version of rzscontrol as changes were done to ioctls, statistics exported etc. was a major pain. Another significant change is the introduction of percpu stats and compression buffers. Earlier, we had per-device buffers protected by a mutex. This was a major bottleneck on multi-core systems. With these changes, benchmarks with fio[1] showed a speedup of about 20% for write performance on dual-core system (see patch 4/10 description for details). For easier testing, a single patch against 2.6.35-git8 has been uploaded at: http://compcache.googlecode.com/hg/sub-projects/mainline/zram_2.6.36-rc0.patch [1] fio I/O benchmarking tool: http://freshmeat.net/projects/fio/ Nitin Gupta (10): Replace ioctls with sysfs interface Remove need for explicit device initialization Use percpu stats Use percpu buffers Reduce per table entry overhead by 4 bytes Block discard support Increase compressed page size threshold Some cleanups Update zram documentation Document sysfs entries Documentation/ABI/testing/sysfs-block-zram | 99 ++++ drivers/staging/zram/Kconfig | 12 - drivers/staging/zram/Makefile | 2 +- drivers/staging/zram/xvmalloc.c | 22 +- drivers/staging/zram/zram.txt | 58 ++- drivers/staging/zram/zram_drv.c | 670 ++++++++++++++-------------- drivers/staging/zram/zram_drv.h | 138 ++---- drivers/staging/zram/zram_ioctl.h | 41 -- drivers/staging/zram/zram_sysfs.c | 253 +++++++++++ 9 files changed, 760 insertions(+), 535 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-block-zram delete mode 100644 drivers/staging/zram/zram_ioctl.h create mode 100644 drivers/staging/zram/zram_sysfs.c -- 1.7.2.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel