Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751972AbbFBURH (ORCPT ); Tue, 2 Jun 2015 16:17:07 -0400 Received: from smtp.variantweb.net ([104.131.104.118]:47894 "EHLO smtp.variantweb.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751472AbbFBUQj (ORCPT ); Tue, 2 Jun 2015 16:16:39 -0400 X-Greylist: delayed 318 seconds by postgrey-1.27 at vger.kernel.org; Tue, 02 Jun 2015 16:16:39 EDT Date: Tue, 2 Jun 2015 15:11:18 -0500 From: Seth Jennings To: Dan Streetman Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 3/5] zswap: runtime enable/disable Message-ID: <20150602201118.GA14741@cerebellum.local.variantweb.net> References: <1433257917-13090-1-git-send-email-ddstreet@ieee.org> <1433257917-13090-4-git-send-email-ddstreet@ieee.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1433257917-13090-4-git-send-email-ddstreet@ieee.org> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2136 Lines: 69 On Tue, Jun 02, 2015 at 11:11:55AM -0400, Dan Streetman wrote: > Change the "enabled" parameter to be configurable at runtime. Remove > the enabled check from init(), and move it to the frontswap store() > function; when enabled, pages will be stored, and when disabled, pages > won't be stored. I like this one. So much so I wrote it about 2 years ago :) http://lkml.iu.edu/hypermail/linux/kernel/1307.2/04289.html It didn't go in though and I forgot about it. We need to update the documentation too (see my patch). Thanks, Seth > > Signed-off-by: Dan Streetman > --- > mm/zswap.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/mm/zswap.c b/mm/zswap.c > index 4249e82..e070b10 100644 > --- a/mm/zswap.c > +++ b/mm/zswap.c > @@ -75,9 +75,10 @@ static u64 zswap_duplicate_entry; > /********************************* > * tunables > **********************************/ > -/* Enable/disable zswap (disabled by default, fixed at boot for now) */ > -static bool zswap_enabled __read_mostly; > -module_param_named(enabled, zswap_enabled, bool, 0444); > + > +/* Enable/disable zswap (disabled by default) */ > +static bool zswap_enabled; > +module_param_named(enabled, zswap_enabled, bool, 0644); > > /* Compressor to be used by zswap (fixed at boot for now) */ > #define ZSWAP_COMPRESSOR_DEFAULT "lzo" > @@ -648,6 +649,9 @@ static int zswap_frontswap_store(unsigned type, pgoff_t offset, > u8 *src, *dst; > struct zswap_header *zhdr; > > + if (!zswap_enabled) > + return -EPERM; > + > if (!tree) { > ret = -ENODEV; > goto reject; > @@ -901,9 +905,6 @@ static int __init init_zswap(void) > { > gfp_t gfp = __GFP_NORETRY | __GFP_NOWARN; > > - if (!zswap_enabled) > - return 0; > - > pr_info("loading zswap\n"); > > zswap_pool = zpool_create_pool(zswap_zpool_type, "zswap", gfp, > -- > 2.1.0 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/