From: Marcelo Tosatti <mtosatti@redhat.com>
To: David Rientjes <rientjes@google.com>
Cc: Luiz Capitulino <lcapitulino@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>,
Andrea Arcangeli <aarcange@redhat.com>,
Andi Kleen <andi@firstfloor.org>, Rik van Riel <riel@redhat.com>,
davidlohr@hp.com, isimatu.yasuaki@jp.fujitsu.com,
yinghai@kernel.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org
Subject: Re: [PATCH 4/4] hugetlb: add hugepages_node= command-line option
Date: Tue, 18 Feb 2014 09:30:13 -0300 [thread overview]
Message-ID: <20140218123013.GA20609@amt.cnet> (raw)
In-Reply-To: <alpine.DEB.2.02.1402171518080.25724@chino.kir.corp.google.com>
On Mon, Feb 17, 2014 at 03:23:16PM -0800, David Rientjes wrote:
> On Mon, 17 Feb 2014, Luiz Capitulino wrote:
>
> > hugepages= and hugepages_node= are similar, but have different semantics.
> >
> > hugepagesz= and hugepages= create a pool of huge pages of the specified size.
> > This means that the number of times you specify those options are limited by
> > the number of different huge pages sizes an arch supports. For x86_64 for
> > example, this limit is two so one would not specify those options more than
> > two times. And this doesn't count default_hugepagesz=, which allows you to
> > drop one hugepagesz= option.
> >
> > hugepages_node= allows you to allocate huge pages per node, so the number of
> > times you can specify this option is limited by the number of nodes. Also,
> > hugepages_node= create the pools, if necessary (at least one will be). For
> > this reason I think it makes a lot of sense to have different options.
> >
>
> I understand you may want to add as much code as you can to the boot code
> so that you can parse all this information in short-form, and it's
> understood that it's possible to specify a different number of varying
> hugepage sizes on individual nodes, but let's come back down to reality
> here.
>
> Lacking from your entire patchset is a specific example of what you want
> to do. So I think we're all guessing what exactly your usecase is and we
> aren't getting any help. Are you really suggesting that a customer wants
> to allocate 4 1GB hugepages on node 0, 12 2MB hugepages on node 0, 6 1GB
> hugepages on node 1, 24 2MB hugepages on node 1, 2 1GB hugepages on node
> 2, 100 2MB hugepages on node 3, etc? Please.
Customer has 32GB machine. He wants 8 1GB pages for his performance
critical application on node0 (KVM guest), and other guests and
pagecache etc. using the remaining 26GB of memory.
> If that's actually the usecase then I'll renew my objection to the entire
> patchset and say you want to add the ability to dynamically allocate 1GB
> pages and free them at runtime early in initscripts. If something is
> going to be added to init code in the kernel then it better be trivial
> since all this can be duplicated in userspace if you really want to be
> fussy about it.
Not sure what is the point here. The command line interface addition
being proposed is simple, is it not?
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2014-02-18 12:30 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-14 1:02 [PATCH v2 0/4] hugetlb: add hugepages_node= command-line option Luiz Capitulino
2014-02-14 1:02 ` [PATCH 1/4] memblock: memblock_virt_alloc_internal(): add __GFP_THISNODE flag support Luiz Capitulino
2014-02-14 1:02 ` [PATCH 2/4] memblock: add memblock_virt_alloc_nid_nopanic() Luiz Capitulino
2014-02-14 1:02 ` [PATCH 3/4] hugetlb: add parse_pagesize_str() Luiz Capitulino
2014-02-14 1:02 ` [PATCH 4/4] hugetlb: add hugepages_node= command-line option Luiz Capitulino
2014-02-14 23:14 ` David Rientjes
2014-02-15 3:58 ` Luiz Capitulino
2014-02-15 10:06 ` David Rientjes
2014-02-17 13:56 ` Luiz Capitulino
2014-02-17 23:23 ` David Rientjes
2014-02-18 12:30 ` Marcelo Tosatti [this message]
2014-02-18 22:16 ` David Rientjes
2014-02-20 2:22 ` Marcelo Tosatti
2014-02-20 3:46 ` David Rientjes
2014-02-20 4:42 ` Luiz Capitulino
2014-02-20 4:51 ` David Rientjes
2014-02-20 15:06 ` Luiz Capitulino
2014-02-20 21:34 ` Marcelo Tosatti
2014-02-20 23:15 ` David Rientjes
2014-02-21 2:28 ` Marcelo Tosatti
2014-02-21 10:07 ` David Rientjes
2014-02-21 19:10 ` Marcelo Tosatti
2014-02-21 22:04 ` David Rientjes
2014-02-21 22:36 ` Andi Kleen
2014-02-21 22:44 ` David Rientjes
2014-02-21 22:55 ` Andi Kleen
2014-02-21 3:35 ` Luiz Capitulino
2014-02-20 21:38 ` Marcelo Tosatti
2014-02-20 23:17 ` David Rientjes
2014-02-18 5:47 ` Davidlohr Bueso
2014-02-21 23:54 ` Andrew Morton
2014-02-22 4:03 ` Andi Kleen
2014-02-22 4:31 ` Davidlohr Bueso
2014-02-22 4:40 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140218123013.GA20609@amt.cnet \
--to=mtosatti@redhat.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=davidlohr@hp.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=lcapitulino@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=riel@redhat.com \
--cc=rientjes@google.com \
--cc=yinghai@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).