Re: [PATCH v2] hugetlbfs: correct handling of negative input to /proc/sys/vm/nr_hugepages

Mel Gorman
2011-02-25T17:30:59Z

On Thu, Feb 24, 2011 at 02:13:35PM -0800, Andrew Morton wrote:
> On Thu, 24 Feb 2011 14:10:34 -0800
> Andrew Morton <akpm@linux-foundation.org> wrote:
>
> > On Tue, 22 Feb 2011 21:17:04 +0100
> > Petr Holasek <pholasek@redhat.com> wrote:
> >
> > > When user insert negative value into /proc/sys/vm/nr_hugepages it will
> > > result
> > > in the setting a random number of HugePages in system
> >
> > Is this true? afacit the kernel will allocate as many pages as it can
> > and will then set /proc/sys/vm/nr_hugepages to reflect the result.
> > That's not random.
> >
>
> Assuming the above to be correct, I altered the changelog thusly:
>

AFAIK, it's correct.

> : When the user inserts a negative value into /proc/sys/vm/nr_hugepages it
> : will cause the kernel to allocate as many hugepages as possible and to
> : then update /proc/meminfo to reflect this.
> :
> : This changes the behavior so that the negative input will result in
> : nr_hugepages value being unchanged.
>
> and given that, I don't really see why we should change the existing behaviour.
>

The main motivation is that asking the kernel for -1 pages and getting a
sensible response just feels wrong. The second reason I'd guess is that an
administrator script that was buggy (or raced with a second) instance that
accidentally wrote a negative number to the proc interface would try allocating
all memory as huge pages instead of reducing the number of hugepages as
was probably intended. Totally hypothetical case of course, I haven't
actually heard of this happening to anyone.

--
Mel Gorman
SUSE Labs