[PATCH 00/10] zram: various improvements and cleanups 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 us... 9 Aug 2010 14:34
[PATCH 09/10] Update zram documentation Update zram documentation to reflect transition form ioctl to sysfs interface. Signed-off-by: Nitin Gupta <ngupta(a)vflare.org> --- drivers/staging/zram/zram.txt | 58 +++++++++++++++++++++++++--------------- 1 files changed, 36 insertions(+), 22 deletions(-) diff --git a/drivers/staging/zram/zram.txt b/driv... 9 Aug 2010 14:34
[PATCH 05/10] Reduce per table entry overhead by 4 bytes Each zram device maintains an array (table) that maps index within the device to the location of corresponding compressed chunk. Currently we store 'struct page' pointer, offset with page and various flags separately which takes 12 bytes per table entry. Now all these are encoded in a single 'phys_add_t' value whi... 9 Aug 2010 14:34
2.6.35 - INFO: kernel/exit.c:1387 invoked rcu_dereference_check() without protection! On Tue, Aug 03, 2010 at 11:20:58PM -0400, Miles Lane wrote: [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- kernel/exit.c:1387 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_active... 9 Aug 2010 14:34
[PATCH 03/10] Use percpu stats Also remove references to removed stats (ex: good_comress). Signed-off-by: Nitin Gupta <ngupta(a)vflare.org> --- drivers/staging/zram/zram_drv.c | 77 ++++++++++++++++-------------------- drivers/staging/zram/zram_drv.h | 33 +++++++++------- drivers/staging/zram/zram_sysfs.c | 46 +++++++++++++++-------... 9 Aug 2010 14:34
[PATCH 04/10] Use percpu buffers This also removes the (mutex) lock which was used to protect these buffers. Tests with fio on dual core showed improvement of about 20% for write speed. fio job description: [global] bs=4k ioengine=libaio iodepth=8 size=1g direct=1 runtime=60 directory=/mnt/zdisk verify=meta verify=0x1234567890abcde... 9 Aug 2010 14:34
[PATCH 02/10] Remove need for explicit device initialization Currently, the user has to explicitly write a positive value to initstate sysfs node before the device can be used. This event triggers allocation of per-device metadata like memory pool, table array and so on. We do not pre-initialize all zram devices since the 'table' array, mapping disk blocks to compressed c... 9 Aug 2010 14:34
[PATCH 06/10] Block discard support The 'discard' bio discard request provides information to zram disks regarding blocks which are no longer in use by filesystem. This allows freeing memory allocated for such blocks. When zram devices are used as swap disks, we already have a callback (block_device_operations->swap_slot_free_notify). So, the dis... 9 Aug 2010 14:33
[PATCH 07/10] Increase compressed page size threshold Compression takes much more time than decompression. So, its quite wasteful in terms of both CPU cycles and memory usage to have a very low compressed page size threshold and thereby storing such not-so-well compressible pages as-is (uncompressed). So, increasing it from PAGE_SIZE/2 to PAGE_SIZE/8*7. A low threshol... 9 Aug 2010 14:33
2.6.35 - INFO: kernel/signal.c:660 invoked rcu_dereference_check() without protection! On Tue, Aug 03, 2010 at 11:18:07PM -0400, Miles Lane wrote: [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- kernel/signal.c:660 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_activ... 9 Aug 2010 13:27 |