[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4147bc1d429a4336dcb45a6cb2657d082f35ab25.camel@surriel.com>
Date: Tue, 10 Mar 2020 16:15:18 -0400
From: Rik van Riel <riel@...riel.com>
To: Mike Kravetz <mike.kravetz@...cle.com>,
Michal Hocko <mhocko@...nel.org>, Roman Gushchin <guro@...com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Johannes Weiner <hannes@...xchg.org>, linux-mm@...ck.org,
kernel-team@...com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] mm: hugetlb: optionally allocate gigantic hugepages
using cma
On Tue, 2020-03-10 at 13:11 -0700, Mike Kravetz wrote:
> On 3/10/20 12:46 PM, Rik van Riel wrote:
> >
> > How would that work for architectures that have multiple
> > possible hugetlbfs gigantic page sizes, where the admin
> > can allocate different numbers of differently sized pages
> > after bootup?
>
> For hugetlb page reservations at boot today, pairs specifying size
> and
> quantity are put on the command line. For example,
> hugepagesz=2M hugepages=512 hugepagesz=1G hugepages=64
>
> We could do something similiar for CMA.
> hugepagesz=512M hugepages_cma=256 hugepagesz=1G hugepages_cma=64
>
> That would make things much more complicated (implies separate CMA
> reservations per size) and may be overkill for the first
> implementation.
>
> Perhaps we limit CMA reservations to one gigantic huge page
> size. The
> architectures would need to define the default and there could be a
> command line option to override. Something like,
> default_cmapagesz= analogous to today's default_hugepagesz=. Then
> hugepages_cma= is only associated with that default gigantic huge
> page
> size.
>
> The more I think about it, the more I like limiting CMA reservations
> to
> only one gigantic huge page size (per arch).
Why, though?
The cma_alloc function can return allocations of different
sizes at the same time.
There is no limitation in the underlying code that would stop
a user from allocating hugepages of different sizes through
sysfs.
Allowing the system administrator to allocate a little extra
memory for the CMA pool could also allow us to work around
initial issues of compaction/migration failing to move some
of the pages, while we play whack-a-mole with the last corner
cases.
--
All Rights Reversed.
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists