The current parameters of zswap are not straightforward. Changed them to start with zswap* and documented them. Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx> --- Documentation/kernel-parameters.txt | 8 ++++++++ mm/zswap.c | 27 +++++++++++++++++++++++---- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 2fe6e76..07642fd 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -3367,6 +3367,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted. Format: <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]] + zswap Enable compressed cache for swap pages support which + is disabled by default. + zswapcompressor= + Select which compressor to be used by zswap. + The default compressor is lzo. + zswap_maxpool_percent= + Select how may percent of total memory can be used to + store comprssed pages. The default percent is 20%. ______________________________________________________________________ TODO: diff --git a/mm/zswap.c b/mm/zswap.c index 7fe2b1b..8ec1360 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -77,17 +77,13 @@ static u64 zswap_duplicate_entry; **********************************/ /* Enable/disable zswap (disabled by default, fixed at boot for now) */ static bool zswap_enabled __read_mostly; -module_param_named(enabled, zswap_enabled, bool, 0); /* Compressor to be used by zswap (fixed at boot for now) */ #define ZSWAP_COMPRESSOR_DEFAULT "lzo" static char *zswap_compressor = ZSWAP_COMPRESSOR_DEFAULT; -module_param_named(compressor, zswap_compressor, charp, 0); /* The maximum percentage of memory that the compressed pool can occupy */ static unsigned int zswap_max_pool_percent = 20; -module_param_named(max_pool_percent, - zswap_max_pool_percent, uint, 0644); /********************************* * compression functions @@ -914,6 +910,29 @@ static int __init zswap_debugfs_init(void) static void __exit zswap_debugfs_exit(void) { } #endif +static int __init enable_zswap(char *s) +{ + zswap_enabled = true; + return 1; +} +__setup("zswap", enable_zswap); + +static int __init setup_zswap_compressor(char *s) +{ + strlcpy(zswap_compressor, s, sizeof(zswap_compressor)); + zswap_enabled = true; + return 1; +} +__setup("zswapcompressor=", setup_zswap_compressor); + +static int __init setup_zswap_max_pool_percent(char *s) +{ + get_option(&s, &zswap_max_pool_percent); + zswap_enabled = true; + return 1; +} +__setup("zswap_maxpool_percent=", setup_zswap_max_pool_percent); + /********************************* * module init and exit **********************************/ -- 1.7.10.4 -- 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>