[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+CK2bD8b9S7PZ8TS+vWTCwBY1h_51wQ5PrvCNNkGKO4r6E2cw@mail.gmail.com>
Date: Thu, 15 Jul 2021 15:06:15 -0400
From: Pavel Tatashin <pasha.tatashin@...een.com>
To: Matthew Wilcox <willy@...radead.org>
Cc: Zhansaya Bagdauletkyzy <zhansayabagdaulet@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Tyler Hicks <tyhicks@...ux.microsoft.com>,
linux-mm <linux-mm@...ck.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/2] mm: KSM: fix ksm_run data type
> > > /sys/kernel/mm/ksm/run
> > >
> > > run: write 0 to disable ksm, read 0 while ksm is disabled.
> > >
> > > - write 1 to run ksm, read 1 while ksm is running.
> > > - write 2 to disable ksm and unmerge all its pages.
> >
> > The document is out of date then as it does not mention 'offline'.
>
> The offline mode cannot be set externally.
>
> In run_store()
> if (flags > KSM_RUN_UNMERGE)
> return -EINVAL;
However, I see that KSM_RUN_OFFLINE is visible via run_show(), so yes
doc should be updated. And, yes it becomes a bitfield from the user
perspective.
>
> >
> > Also, why does the call to kstrtouint() specify base 10? If it is a
> > bitmap, then permitting 0x [1] is more natural. I would expect to see
> > base 0 there.
>
> Users can only write 0, 1, or 2, it is not a bitmap from the user's
> perspective as the user cannot write: '3' . But, I think it is
> somewhat weird that ksm_run is used as a bitmap internally with
> KSM_RUN_OFFLINE = 4.
>
> Imo, KSM_RUN_OFFLINE should be placed in a separate boolean from "ksm_run".
>
> >
> > [1] or even 0b, although I see that _parse_integer_fixup_radix does not
> > support the 0b notation.
Powered by blists - more mailing lists