lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.02.1402150159540.28883@chino.kir.corp.google.com>
Date:	Sat, 15 Feb 2014 02:06:38 -0800 (PST)
From:	David Rientjes <rientjes@...gle.com>
To:	Luiz Capitulino <lcapitulino@...hat.com>
cc:	Andrew Morton <akpm@...ux-foundation.org>, mtosatti@...hat.com,
	Mel Gorman <mgorman@...e.de>,
	Andrea Arcangeli <aarcange@...hat.com>,
	Andi Kleen <andi@...stfloor.org>,
	Rik van Riel <riel@...hat.com>, davidlohr@...com,
	isimatu.yasuaki@...fujitsu.com, yinghai@...nel.org,
	linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH 4/4] hugetlb: add hugepages_node= command-line option

On Fri, 14 Feb 2014, Luiz Capitulino wrote:

> > Again, I think this syntax is horrendous and doesn't couple well with the 
> > other hugepage-related kernel command line options.  We already have 
> > hugepages= and hugepagesz= which you can interleave on the command line to 
> > get 100 2M hugepages and 10 1GB hugepages, for example.
> > 
> > This patchset is simply introducing another variable to the matter: the 
> > node that the hugepages should be allocated on.  So just introduce a 
> > hugepagesnode= parameter to couple with the others so you can do
> > 
> > 	hugepagesz=<size> hugepagesnode=<nid> hugepages=<#>
> 
> That was my first try but it turned out really bad. First, for every node
> you specify you need three options.

Just like you need two options today to specify a number of hugepages of a 
particular non-default size.  You only need to use hugepagesz= or 
hugepagenode= if you want a non-default size or a specify a particular 
node.

> So, if you want to setup memory for
> three nodes you'll need to specify nine options.

And you currently need six if you want to specify three different hugepage 
sizes (?).  But who really specifies three different hugepage sizes on the 
command line that are needed to be reserved at boot?

If that's really the usecase, it seems like you want the old 
CONFIG_PAGE_SHIFT patch.

> And it gets worse, because
> hugepagesz= and hugepages= have strict ordering (which is a mistake, IMHO) so
> you have to specify them in the right order otherwise things don't work as
> expected and you have no idea why (have been there myself).
> 

How is that difficult?  hugepages= is the "noun", hugepagesz= is the 
"adjective".  hugepages=100 hugepagesz=1G hugepages=4 makes perfect sense 
to me, and I actually don't allocate hugepages on the command line, nor 
have I looked at Documentation/kernel-parameters.txt to check if I'm 
constructing it correctly.  It just makes sense and once you learn it it's 
just natural.

> IMO, hugepages_node=<nid>:<nr_pages>:<size>,... is good enough. It's concise,
> and don't depend on any other option to function. Also, there are lots of other
> kernel command-line options that require you to specify multiple fields, so
> it's not like hugepages_node= is totally different in that regard.
> 

I doubt Andrew is going to want a completely different format for hugepage 
allocations that want to specify a node and have to deal with people who 
say hugepages_node=2:1:1G and constantly have to lookup if it's 2 
hugepages on node 1 or 1 hugepage on node 2.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ