linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Geoff Levand <geoffrey.levand@am.sony.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Mel Gorman <mel@csn.ul.ie>,
	linuxppc-dev@ozlabs.org, kniht@linux.vnet.ibm.com,
	Linux Memory Management List <linux-mm@kvack.org>
Subject: Re: [PATCH 1/2] powerpc: add hugepagesz boot-time parameter
Date: Wed, 28 Nov 2007 13:22:07 -0800	[thread overview]
Message-ID: <474DDBFF.9020206@am.sony.com> (raw)
In-Reply-To: <200711281730.40907.arnd@arndb.de>

Arnd Bergmann wrote:
> On Wednesday 28 November 2007, Mel Gorman wrote:
>> On (28/11/07 08:26), Arnd Bergmann didst pronounce:
>> > On Wednesday 28 November 2007, Jon Tollefson wrote:
>> > > This patch adds the hugepagesz boot-time parameter for ppc64 that lets 
>> > > you pick the size for your huge pages.  The choices available are 64K 
>> > > and 16M.  It defaults to 16M (previously the only choice) if nothing or 
>> > > an invalid choice is specified.  Tested 64K huge pages with the 
>> > > libhugetlbfs 1.2 release with its 'make func' and 'make stress' test 
>> > > invocations.
>> > 
>> > How hard would it be to add the 1MB page size that some CPUs support
>> > as well? On systems with small physical memory like the PS3, that
>> > sounds very useful to me.
>> > 
>> 
>> Does the PS3 support 1M pages in hardware? When I last looked, the magic
>> ibm,segment-page-sizes file that described the supported pagesizes was
>> missing from the device tree. In this situation, the default sizes
>> become 4K and 16M because no other ones are advertised.
> 
> I think you can select the page size using a hypercall on the PS3.
> The CPU supports any two of (64k, 1M, 16M) simultaneously.

The PS3's hypervisor allows you to create the lpar's virtual address
space with two page sizes.  I currently have this hard coded to 64K
and 16M.  Within the address space you create memory regions.  I have
the hot-plug memory mapped in as a single region that is hard coded
as 16M pages.

The current HV implementation only allows you to create an htab of
at maximum 1M, so that influences how you can configure page sizes.

Just as a note, since the amount of memory available to the Linux lpar
is not a multiple of 16M, some of the available hot-plug memory is not
mapped into the address space.  For firmware 1.90, 8M is unused.  I
was thinking to create another region for that memory and put things
like the storage bounce buffers in there.  Maybe I'll use 1M pages
for that memory.

-Geoff

--
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>

  reply	other threads:[~2007-11-28 21:22 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-28  5:03 Jon Tollefson
2007-11-28  7:26 ` Arnd Bergmann
2007-11-28 16:12   ` Mel Gorman
2007-11-28 16:30     ` Arnd Bergmann
2007-11-28 21:22       ` Geoff Levand [this message]
2007-11-28 21:28 ` Randy Dunlap
2007-11-29  1:36   ` Nish Aravamudan
2007-11-29  1:40     ` Randy Dunlap
2007-11-29  3:01       ` Nish Aravamudan

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=474DDBFF.9020206@am.sony.com \
    --to=geoffrey.levand@am.sony.com \
    --cc=arnd@arndb.de \
    --cc=kniht@linux.vnet.ibm.com \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=mel@csn.ul.ie \
    /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