On (05/30/15 00:05), Sergey Senozhatsky wrote: > RFC > > this is 4.3 material, but I wanted to publish it sooner to gain > responses and to settle it down before 4.3 merge window opens. > > in short, this series tweaks zsmalloc's compaction and adds > auto-compaction support. auto-compaction is not aimed to replace > manual compaction, intead it's supposed to be good enough. yet > it surely slows down zsmalloc in some scenarious. whilst simple > un-tar test didn't show any significant performance difference > > > quote from commit 0007: > > this test copies a 1.3G linux kernel tar to mounted zram disk, > and extracts it. > [..] Hello, I've a v2: -- squashed and re-order some of the patches; -- run iozone with lockdep disabled. === quote === auto-compaction should not affect read-only tests, so we are interested in write-only and read-write (mixed) tests, but I'll post complete test stats: iozone -t 3 -R -r 16K -s 60M -I +Z ext4, 2g zram0 device, lzo, 4 compression streams max test base auto-compact (compacted 67904 objs) Initial write 2474943.62 2490551.69 Rewrite 3656121.38 3002796.31 Read 12068187.50 12044105.25 Re-read 12009777.25 11930537.50 Reverse Read 10858884.25 10388252.50 Stride read 10715304.75 10429308.00 Random read 10597970.50 10502978.75 Mixed workload 8517269.00 8701298.12 Random write 3595597.00 3465174.38 Pwrite 2507361.25 2553224.50 Pread 5380608.28 5340646.03 Fwrite 6123863.62 6130514.25 Fread 12006438.50 11936981.25 mm_stat after the test base: cat /sys/block/zram0/mm_stat 378834944 5748695 7446528 0 7450624 16318 0 auto-compaction: cat /sys/block/zram0/mm_stat 378892288 5754987 7397376 0 7397376 16304 67904 === -ss > > > Sergey Senozhatsky (10): > zsmalloc: drop unused variable `nr_to_migrate' > zsmalloc: always keep per-class stats > zsmalloc: introduce zs_can_compact() function > zsmalloc: cosmetic compaction code adjustments > zsmalloc: add `num_migrated' to zs_pool > zsmalloc: move compaction functions > zsmalloc: introduce auto-compact support > zsmalloc: export zs_pool `num_migrated' > zram: remove `num_migrated' from zram_stats > zsmalloc: lower ZS_ALMOST_FULL waterline > > drivers/block/zram/zram_drv.c | 12 +- > drivers/block/zram/zram_drv.h | 1 - > include/linux/zsmalloc.h | 1 + > mm/zsmalloc.c | 578 +++++++++++++++++++++--------------------- > 4 files changed, 296 insertions(+), 296 deletions(-) > > -- > 2.4.2.337.gfae46aa > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>