From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752141AbdFLFDJ (ORCPT ); Mon, 12 Jun 2017 01:03:09 -0400 Received: from LGEAMRELO12.lge.com ([156.147.23.52]:38103 "EHLO lgeamrelo12.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752002AbdFLFDI (ORCPT ); Mon, 12 Jun 2017 01:03:08 -0400 X-Original-SENDERIP: 156.147.1.121 X-Original-MAILFROM: minchan@kernel.org X-Original-SENDERIP: 10.177.220.163 X-Original-MAILFROM: minchan@kernel.org From: Minchan Kim To: Andrew Morton Cc: linux-kernel@vger.kernel.org, Juneho Choi , Sergey Senozhatsky , kernel-team , Minchan Kim Subject: [RFC 0/7] writeback incompressible pages to storage Date: Mon, 12 Jun 2017 14:02:44 +0900 Message-Id: <1497243771-27611-1-git-send-email-minchan@kernel.org> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org zRam is useful for memory saving with compressible pages but sometime, workload can be changed and system has lots of incompressible pages which is very harmful for zram. This patch supports writeback feature of zram so admin can set up a block device and with it, zram can save the memory via writing out the incompressile pages once it found it's incompressible pages (1/4 comp ratio) instead of keeping the page in memory. [1,2] is just clean up and [3-7] is step by step feature enablement. [3-7] is logically not bisectable(ie, logical unit separation) although I tried to compiled out without breaking but I think it would be better to review. Thanks. Minchan Kim (7): [1] zram: inlining zram_compress [2] zram: rename zram_decompress_page with __zram_bvec_read [3] zram: add interface to specify backing device [4] zram: add free space management in backing device [5] zram: identify asynchronous IO's return value [6] zram: write incompressible pages to backing device [7] zram: read page from backing device drivers/block/zram/Kconfig | 13 + drivers/block/zram/zram_drv.c | 549 ++++++++++++++++++++++++++++++++++++------ drivers/block/zram/zram_drv.h | 9 + 3 files changed, 500 insertions(+), 71 deletions(-) -- 2.7.4