All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] zram: various improvements and cleanups
@ 2010-08-09 17:26 ` Nitin Gupta
  0 siblings, 0 replies; 137+ messages in thread
From: Nitin Gupta @ 2010-08-09 17:26 UTC (permalink / raw)
  To: Pekka Enberg, Minchan Kim, Andrew Morton, Greg KH
  Cc: Linux Driver Project, linux-mm, linux-kernel

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


^ permalink raw reply	[flat|nested] 137+ messages in thread

end of thread, other threads:[~2010-10-06 14:53 UTC | newest]

Thread overview: 137+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-09 17:26 [PATCH 00/10] zram: various improvements and cleanups Nitin Gupta
2010-08-09 17:26 ` Nitin Gupta
2010-08-09 17:26 ` [PATCH 01/10] Replace ioctls with sysfs interface Nitin Gupta
2010-08-09 17:26   ` Nitin Gupta
2010-08-09 18:34   ` Pekka Enberg
2010-08-09 18:34     ` Pekka Enberg
2010-08-10  3:06     ` Nitin Gupta
2010-08-10  3:06       ` Nitin Gupta
2010-08-31 23:06   ` Dave Hansen
2010-08-31 23:06     ` Dave Hansen
2010-08-09 17:26 ` [PATCH 02/10] Remove need for explicit device initialization Nitin Gupta
2010-08-09 17:26   ` Nitin Gupta
2010-08-09 18:36   ` Pekka Enberg
2010-08-09 18:36     ` Pekka Enberg
2010-08-10  3:38     ` Nitin Gupta
2010-08-10  3:38       ` Nitin Gupta
2010-08-09 17:26 ` [PATCH 03/10] Use percpu stats Nitin Gupta
2010-08-09 17:26   ` Nitin Gupta
2010-08-09 18:44   ` Pekka Enberg
2010-08-09 18:44     ` Pekka Enberg
2010-08-10  4:34   ` Andrew Morton
2010-08-10  4:34     ` Andrew Morton
2010-08-11 16:39     ` Nitin Gupta
2010-08-11 16:39       ` Nitin Gupta
2010-08-11 17:18       ` Andrew Morton
2010-08-11 17:18         ` Andrew Morton
2010-08-30 16:20   ` Christoph Lameter
2010-08-30 16:20     ` Christoph Lameter
2010-08-31 20:31     ` Nitin Gupta
2010-08-31 20:31       ` Nitin Gupta
2010-08-31 21:28       ` Eric Dumazet
2010-08-31 21:28         ` Eric Dumazet
2010-08-31 21:35         ` Christoph Lameter
2010-08-31 21:35           ` Christoph Lameter
2010-08-31 21:41           ` Eric Dumazet
2010-08-31 21:41             ` Eric Dumazet
2010-09-01 20:05             ` Christoph Lameter
2010-09-01 20:05               ` Christoph Lameter
2010-09-01 20:38               ` Eric Dumazet
2010-09-01 20:38                 ` Eric Dumazet
2010-09-02  0:34                 ` Christoph Lameter
2010-09-02  0:34                   ` Christoph Lameter
2010-08-31  5:36   ` Anton Blanchard
2010-08-31  5:36     ` Anton Blanchard
2010-09-01  3:41     ` Anton Blanchard
2010-09-01  3:41       ` Anton Blanchard
2010-09-01  3:51   ` Anton Blanchard
2010-09-01  3:51     ` Anton Blanchard
2010-09-17 20:59     ` Andrew Morton
2010-09-17 20:59       ` Andrew Morton
2010-08-09 17:26 ` [PATCH 04/10] Use percpu buffers Nitin Gupta
2010-08-09 17:26   ` Nitin Gupta
2010-08-09 18:57   ` Pekka Enberg
2010-08-09 18:57     ` Pekka Enberg
2010-08-10  4:47     ` Nitin Gupta
2010-08-10  4:47       ` Nitin Gupta
2010-08-10  5:05       ` Pekka Enberg
2010-08-10  5:05         ` Pekka Enberg
2010-08-10  5:32         ` Nitin Gupta
2010-08-10  5:32           ` Nitin Gupta
2010-08-10  7:36           ` Pekka Enberg
2010-08-10  7:36             ` Pekka Enberg
2010-08-09 17:26 ` [PATCH 05/10] Reduce per table entry overhead by 4 bytes Nitin Gupta
2010-08-09 17:26   ` Nitin Gupta
2010-08-09 18:59   ` Pekka Enberg
2010-08-09 18:59     ` Pekka Enberg
2010-08-10  4:55     ` Nitin Gupta
2010-08-10  4:55       ` Nitin Gupta
2010-08-09 17:26 ` [PATCH 06/10] Block discard support Nitin Gupta
2010-08-09 17:26   ` Nitin Gupta
2010-08-09 19:03   ` Pekka Enberg
2010-08-09 19:03     ` Pekka Enberg
2010-08-10  2:23     ` Jens Axboe
2010-08-10  2:23       ` Jens Axboe
2010-08-10  2:23       ` Jens Axboe
2010-08-10  4:54       ` Nitin Gupta
2010-08-10  4:54         ` Nitin Gupta
2010-08-10  4:54         ` Nitin Gupta
2010-08-10 15:54         ` Jens Axboe
2010-08-10 15:54           ` Jens Axboe
2010-08-10 15:54           ` Jens Axboe
2010-08-09 17:26 ` [PATCH 07/10] Increase compressed page size threshold Nitin Gupta
2010-08-09 17:26   ` Nitin Gupta
2010-08-09 18:32   ` Pekka Enberg
2010-08-09 18:32     ` Pekka Enberg
2010-08-09 17:26 ` [PATCH 08/10] Some cleanups Nitin Gupta
2010-08-09 17:26   ` Nitin Gupta
2010-08-09 19:02   ` Pekka Enberg
2010-08-09 19:02     ` Pekka Enberg
2010-08-09 17:26 ` [PATCH 09/10] Update zram documentation Nitin Gupta
2010-08-09 17:26   ` Nitin Gupta
2010-08-09 17:26 ` [PATCH 10/10] Document sysfs entries Nitin Gupta
2010-08-09 17:26   ` Nitin Gupta
2010-08-09 19:02   ` Pekka Enberg
2010-08-09 19:02     ` Pekka Enberg
2010-08-31 22:37 ` [PATCH 00/10] zram: various improvements and cleanups Greg KH
2010-08-31 22:37   ` Greg KH
2010-09-01  3:32 ` Anton Blanchard
2010-09-01  3:32   ` Anton Blanchard
2010-09-09 17:24 ` OOM panics with zram Dave Hansen
2010-09-09 17:24   ` Dave Hansen
2010-09-09 19:07   ` [patch -rc] oom: always return a badness score of non-zero for eligible tasks David Rientjes
2010-09-09 19:07     ` David Rientjes
2010-09-09 19:48     ` Dave Hansen
2010-09-09 19:48       ` Dave Hansen
2010-09-09 21:00       ` David Rientjes
2010-09-09 21:00         ` David Rientjes
2010-09-09 21:10         ` Dave Hansen
2010-09-09 21:10           ` Dave Hansen
2010-09-09 21:40           ` David Rientjes
2010-09-09 21:40             ` David Rientjes
2010-10-03 18:41   ` OOM panics with zram Nitin Gupta
2010-10-03 18:41     ` Nitin Gupta
2010-10-03 19:27     ` Dave Hansen
2010-10-03 19:27       ` Dave Hansen
2010-10-03 19:40       ` Nitin Gupta
2010-10-03 19:40         ` Nitin Gupta
2010-10-04 11:08         ` Ed Tomlinson
2010-10-04 11:08           ` Ed Tomlinson
2010-10-05 23:43     ` Greg KH
2010-10-05 23:43       ` Greg KH
2010-10-06  2:29       ` Nitin Gupta
2010-10-06  2:29         ` Nitin Gupta
2010-10-06  2:36         ` Greg KH
2010-10-06  2:36           ` Greg KH
2010-10-06  4:30           ` Nitin Gupta
2010-10-06  4:30             ` Nitin Gupta
2010-10-06  7:38             ` Pekka Enberg
2010-10-06  7:38               ` Pekka Enberg
2010-10-06 14:03               ` Greg KH
2010-10-06 14:03                 ` Greg KH
2010-10-06 14:16                 ` Pekka Enberg
2010-10-06 14:16                   ` Pekka Enberg
2010-10-06 14:53                   ` Nitin Gupta
2010-10-06 14:53                     ` Nitin Gupta
2010-10-06 14:02             ` Greg KH
2010-10-06 14:02               ` Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.