The patch titled Subject: mm/memcontrol: use kstrtobool for swapaccount param parsing has been added to the -mm mm-unstable branch. Its filename is mm-memcontrol-use-kstrtobool-for-swapaccount-param-parsing.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-memcontrol-use-kstrtobool-for-swapaccount-param-parsing.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Liu Shixin <liushixin2@xxxxxxxxxx> Subject: mm/memcontrol: use kstrtobool for swapaccount param parsing Date: Thu, 8 Sep 2022 16:34:52 +0800 Use kstrtobool which is more powerful to handle all kinds of parameters like 'Yy1Nn0' or [oO][NnFf] for "on" and "off". Link: https://lkml.kernel.org/r/20220908083452.2844125-1-liushixin2@xxxxxxxxxx Signed-off-by: Liu Shixin <liushixin2@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Roman Gushchin <roman.gushchin@xxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Shakeel Butt <shakeelb@xxxxxxxxxx> Cc: Muchun Song <songmuchun@xxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Cc: Liu Shixin <liushixin2@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- Documentation/admin-guide/kernel-parameters.txt | 7 ++++--- mm/memcontrol.c | 8 ++++---- mm/swap_cgroup.c | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) --- a/Documentation/admin-guide/kernel-parameters.txt~mm-memcontrol-use-kstrtobool-for-swapaccount-param-parsing +++ a/Documentation/admin-guide/kernel-parameters.txt @@ -6037,10 +6037,11 @@ Execution Facility on pSeries. swapaccount= [KNL] - Format: [0|1] + Format: { [oO][Nn]/Y/y/1 | [oO][Ff]/N/n/0 } Enable accounting of swap in memory resource - controller if no parameter or 1 is given or disable - it if 0 is given (See Documentation/admin-guide/cgroup-v1/memory.rst) + controller if no parameter or [oO][Nn]/Y/y/1 is given + or disable it if [oO][Ff]/N/n/0 is given + (See Documentation/admin-guide/cgroup-v1/memory.rst) swiotlb= [ARM,IA-64,PPC,MIPS,X86] Format: { <int> [,<int>] | force | noforce } --- a/mm/memcontrol.c~mm-memcontrol-use-kstrtobool-for-swapaccount-param-parsing +++ a/mm/memcontrol.c @@ -7507,10 +7507,10 @@ bool mem_cgroup_swap_full(struct folio * static int __init setup_swap_account(char *s) { - if (!strcmp(s, "1")) - cgroup_memory_noswap = false; - else if (!strcmp(s, "0")) - cgroup_memory_noswap = true; + bool res; + + if (!kstrtobool(s, &res)) + cgroup_memory_noswap = !res; return 1; } __setup("swapaccount=", setup_swap_account); --- a/mm/swap_cgroup.c~mm-memcontrol-use-kstrtobool-for-swapaccount-param-parsing +++ a/mm/swap_cgroup.c @@ -194,7 +194,7 @@ int swap_cgroup_swapon(int type, unsigne return 0; nomem: pr_info("couldn't allocate enough memory for swap_cgroup\n"); - pr_info("swap_cgroup can be disabled by swapaccount=0 boot option\n"); + pr_info("swap_cgroup can be disabled by swapaccount=[oO][Ff]/N/n/0 boot option\n"); return -ENOMEM; } _ Patches currently in -mm which might be from liushixin2@xxxxxxxxxx are revert-frontswap-remove-support-for-multiple-ops.patch revert-mm-mark-swap_lock-and-swap_active_head-static.patch revert-frontswap-simplify-frontswap_register_ops.patch mm-zswap-replace-zswap_init_started-failed-with-zswap_init_state.patch mm-zswap-delay-the-initializaton-of-zswap-until-the-first-enablement.patch mm-zswap-skip-confusing-print-info.patch mm-thp-simplify-has_transparent_hugepage-by-using-is_builtin.patch mm-thp-remove-redundant-config_transparent_hugepage.patch mm-kmemleak-make-create_object-return-void.patch mm-huge_memory-prevent-thp_zero_page_alloc-increased-twice.patch mm-memcontrol-use-kstrtobool-for-swapaccount-param-parsing.patch