Re: [PATCH] memsw: handle swapaccount kernel parameter correctly

From: Michal Hocko
Date: Thu Jan 27 2011 - 04:30:16 EST


On Thu 27-01-11 18:03:30, KAMEZAWA Hiroyuki wrote:
> On Thu, 27 Jan 2011 09:23:20 +0100
> Michal Hocko <mhocko@xxxxxxx> wrote:
[...]
> > diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> > index db76ef7..cea2be48 100644
> > --- a/mm/memcontrol.c
> > +++ b/mm/memcontrol.c
> > @@ -5013,9 +5013,9 @@ struct cgroup_subsys mem_cgroup_subsys = {
> > static int __init enable_swap_account(char *s)
> > {
> > /* consider enabled if no parameter or 1 is given */
> > - if (!s || !strcmp(s, "1"))
> > + if (!(*s) || !strcmp(s, "=1"))
> > really_do_swap_account = 1;
> > - else if (!strcmp(s, "0"))
> > + else if (!strcmp(s, "=0"))
> > really_do_swap_account = 0;
> > return 1;
> > }
>
> Hmm, usual callser of __setup() includes '=' to parameter name, as
>
> mm/hugetlb.c:__setup("hugepages=", hugetlb_nrpages_setup);
> mm/hugetlb.c:__setup("default_hugepagesz=", hugetlb_default_setup);
>
> How about moving "=" to __setup() ?

I have considered that as well but then we couldn't use swapaccount
parameter without any value because the parameter parsing matches the
whole string.
I found it better to have consistent [no]swapaccount with the =0|1
extension rather than keeping = in the setup like other users.

Sounds reasonable?
--
Michal Hocko
SUSE Labs
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9
Czech Republic
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/