lkml.org 
[lkml]   [2015]   [Jun]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH 3/5] zswap: runtime enable/disable
On Tue, Jun 2, 2015 at 4:11 PM, Seth Jennings <sjennings@variantweb.net> wrote:
> 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).

ok sure, forgot about the docs. I'll resend just this patch, with doc
updates, so we can split things up as you suggested.

>
> Thanks,
> Seth
>
>>
>> Signed-off-by: Dan Streetman <ddstreet@ieee.org>
>> ---
>> 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
>>


\
 
 \ /
  Last update: 2015-06-02 23:21    [W:0.052 / U:0.812 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site