Current ZRAM just can store all pages even if the compression rate of a page is really low. So the compression rate of ZRAM is out of control when it is running. In my part, I did some test and record with ZRAM. The compression rate is about 40%. This series of patches make ZRAM can just store the page that the compressed size is smaller than a value. With these patches, I set the value to 2048 and did the same test with before. The compression rate is about 20%. The times of lowmemorykiller also decreased. Hui Zhu (4): vmscan.c: shrink_page_list: unmap anon pages after pageout Add non-swap page flag to mark a page will not swap ZRAM: do not swap the pages that compressed size bigger than non_swap vmscan.c: zram: add non swap support for shmem file pages drivers/block/zram/Kconfig | 11 +++ drivers/block/zram/zram_drv.c | 38 +++++++++++ drivers/block/zram/zram_drv.h | 4 + fs/proc/meminfo.c | 6 + include/linux/mm_inline.h | 20 +++++ include/linux/mmzone.h | 3 include/linux/page-flags.h | 8 ++ include/linux/rmap.h | 5 + include/linux/shmem_fs.h | 6 + include/trace/events/mmflags.h | 9 ++ kernel/events/uprobes.c | 16 ++++ mm/Kconfig | 9 ++ mm/memory.c | 34 ++++++++++ mm/migrate.c | 4 + mm/mprotect.c | 8 ++ mm/page_io.c | 11 ++- mm/rmap.c | 23 ++++++ mm/shmem.c | 77 +++++++++++++++++----- mm/vmscan.c | 139 +++++++++++++++++++++++++++++++++++------ 19 files changed, 387 insertions(+), 44 deletions(-) -- 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>