On Thu 08-09-22 15:01:59, Andrew Morton wrote: > > 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> I do not have any objection to using kstrtobool but please drop all the other changes. They do not add clarity and even if some accepted values remain unspecified I do not think this matters much. with that changed, feel free to add Acked-by: Michal Hocko <mhocko@xxxxxxxx> Thanks! > --- > > 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 -- Michal Hocko SUSE Labs