Re: [PATCH 4/4] hugetlb: add hugepages_node= command-line option

From: David Rientjes
Date: Wed Feb 19 2014 - 22:47:24 EST


On Wed, 19 Feb 2014, Marcelo Tosatti wrote:

> We agree that, in the future, we'd like to provide the ability to
> dynamically allocate and free 1GB pages at runtime.
>
> Extending the kernel command line interface is a first step.
>
> Do you have a concrete objection to that first step ?
>

Yes, my concrete objection is that the command line interface is
unnecessary if you can dynamically allocate and free 1GB pages at runtime
unless memory will be so fragmented that it cannot be done when userspace
is brought up. That is not your use case, thus this support is not
needed. I think Mel also brought up this point.

There's no "first step" about it, this is unnecessary for your use case if
you can do it at runtime. I'm not sure what's so surprising about this.

> > You can't specify an interleave behavior with Luiz's command line
> > interface so now we'd have two different interfaces for allocating
> > hugepage sizes depending on whether you're specifying a node or not.
> > It's "hugepagesz=1G hugepages=16" vs "hugepage_node=1:16:1G" (and I'd have
> > to look at previous messages in this thread to see if that means 16 1GB
> > pages on node 1 or 1 1GB pages on node 16.)
>
> What syntax do you prefer and why ?
>

I'm not sure it's interesting to talk about since this patchset is
unnecessary if you can do it at runtime, but since "hugepagesz=" and
"hugepages=" have existed for many kernel releases, we must maintain
backwards compatibility. Thus, it seems, the easiest addition would have
been "hugepagesnode=" which I've mentioned several times, there's no
reason to implement yet another command line option purely as a shorthand
which hugepage_node=1:2:1G is and in a very cryptic way.
--
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/