All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Weiner <hannes@saeurebad.de>
To: Robin Holt <holt@sgi.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	Ingo Molnar <mingo@elte.hu>, Andi Kleen <andi@firstfloor.org>,
	Yinghai Lu <yhlu.kernel@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Yasunori Goto <y-goto@jp.fujitsu.com>
Subject: Re: [rfc][patch 0/3] bootmem2: a memory block-oriented boot time allocator
Date: Tue, 06 May 2008 11:00:06 +0200	[thread overview]
Message-ID: <87myn3lsdl.fsf@saeurebad.de> (raw)
In-Reply-To: <20080505160443.GG19717@sgi.com> (Robin Holt's message of "Mon, 5 May 2008 11:04:43 -0500")

Hi,

Robin Holt <holt@sgi.com> writes:

> On Mon, May 05, 2008 at 08:23:34AM -0700, Linus Torvalds wrote:
>> 
>> 
>> On Mon, 5 May 2008, Johannes Weiner wrote:
>> > 
>> > here is a bootmem allocator replacement that uses one bitmap for all
>> > available pages and works with a model of contiguous memory blocks
>> > that reside on nodes instead of nodes only as the current allocator
>> > does.
>> 
>> Won't this have problems with huge non-contiguous areas?
>> 
>> Some setups have traditionally had node memory separated in physical space 
>> by the high bits of the memory address, and using a single bitmap for such 
>> things would potentially be basically impossible - even with a single bit 
>> per page, the "span" of possible pages is potentially just too high, even 
>> if the nodes themselves don't have tons of memory, because the memory is 
>> just very spread out - and allocating the initial bitmap may not work 
>> reliably.
>> 
>> Now, admittedly I don't know if we even support that kind of thing or if 
>> people really do things that way any more, so maybe it's not an issue.
>
> SGI sn2 architecture does.  Each DIMM bank is allocated a 16GB range
> of physical addresses.  There are up to four banks per node.  The node
> number is stuck into higher portions of the address, giving a gap between
> nodes of 256GB.  With a potential of 1024 nodes, you would have a very
> large array.
>
> Additionally on our upcoming UV systems, there will potentially be a
> hole between the bulk of memory and a small amount addressable at the
> high end of the address range (slightly short of 16TB) with the typical
> gap being on the order of 15TB.

Okay, that defeats the single-bitmap approach completely.

Thanks for clarifying.

	Hannes

WARNING: multiple messages have this Message-ID (diff)
From: Johannes Weiner <hannes@saeurebad.de>
To: Robin Holt <holt@sgi.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	Ingo Molnar <mingo@elte.hu>, Andi Kleen <andi@firstfloor.org>,
	Yinghai Lu <yhlu.kernel@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Yasunori Goto <y-goto@jp.fujitsu.com>
Subject: Re: [rfc][patch 0/3] bootmem2: a memory block-oriented boot time allocator
Date: Tue, 06 May 2008 11:00:06 +0200	[thread overview]
Message-ID: <87myn3lsdl.fsf@saeurebad.de> (raw)
In-Reply-To: <20080505160443.GG19717@sgi.com> (Robin Holt's message of "Mon, 5 May 2008 11:04:43 -0500")

Hi,

Robin Holt <holt@sgi.com> writes:

> On Mon, May 05, 2008 at 08:23:34AM -0700, Linus Torvalds wrote:
>> 
>> 
>> On Mon, 5 May 2008, Johannes Weiner wrote:
>> > 
>> > here is a bootmem allocator replacement that uses one bitmap for all
>> > available pages and works with a model of contiguous memory blocks
>> > that reside on nodes instead of nodes only as the current allocator
>> > does.
>> 
>> Won't this have problems with huge non-contiguous areas?
>> 
>> Some setups have traditionally had node memory separated in physical space 
>> by the high bits of the memory address, and using a single bitmap for such 
>> things would potentially be basically impossible - even with a single bit 
>> per page, the "span" of possible pages is potentially just too high, even 
>> if the nodes themselves don't have tons of memory, because the memory is 
>> just very spread out - and allocating the initial bitmap may not work 
>> reliably.
>> 
>> Now, admittedly I don't know if we even support that kind of thing or if 
>> people really do things that way any more, so maybe it's not an issue.
>
> SGI sn2 architecture does.  Each DIMM bank is allocated a 16GB range
> of physical addresses.  There are up to four banks per node.  The node
> number is stuck into higher portions of the address, giving a gap between
> nodes of 256GB.  With a potential of 1024 nodes, you would have a very
> large array.
>
> Additionally on our upcoming UV systems, there will potentially be a
> hole between the bulk of memory and a small amount addressable at the
> high end of the address range (slightly short of 16TB) with the typical
> gap being on the order of 15TB.

Okay, that defeats the single-bitmap approach completely.

Thanks for clarifying.

	Hannes

--
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:[~2008-05-06  9:05 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-05  9:59 [rfc][patch 0/3] bootmem2: a memory block-oriented boot time allocator Johannes Weiner
2008-05-05  9:59 ` Johannes Weiner
2008-05-05  9:59 ` [rfc][patch 1/3] mm: Define NR_NODE_MEMBLKS unconditionally Johannes Weiner
2008-05-05  9:59   ` Johannes Weiner
2008-05-05  9:59 ` [rfc][patch 2/3] mm: bootmem2 - memory block oriented boot time allocator Johannes Weiner
2008-05-05  9:59   ` Johannes Weiner
2008-05-05  9:59 ` [rfc][patch 3/3] x86: Use bootmem2 on x86_32 Johannes Weiner
2008-05-05  9:59   ` Johannes Weiner
2008-05-05 11:23 ` [rfc][patch 0/3] bootmem2: a memory block-oriented boot time allocator Johannes Weiner
2008-05-05 11:23   ` Johannes Weiner
2008-05-05 15:23 ` Linus Torvalds
2008-05-05 15:23   ` Linus Torvalds
2008-05-05 16:04   ` Robin Holt
2008-05-05 16:04     ` Robin Holt
2008-05-06  9:00     ` Johannes Weiner [this message]
2008-05-06  9:00       ` Johannes Weiner
2008-05-05 18:58 ` Andi Kleen
2008-05-05 18:58   ` Andi Kleen
2008-05-06  8:57   ` Johannes Weiner
2008-05-06  8:57     ` Johannes Weiner
2008-05-07 12:29 ` [RFC no patch yet] bootmem2: Another try Johannes Weiner
2008-05-07 12:29   ` Johannes Weiner
2008-05-07 14:37   ` Linus Torvalds
2008-05-07 14:37     ` Linus Torvalds

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=87myn3lsdl.fsf@saeurebad.de \
    --to=hannes@saeurebad.de \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=holt@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mingo@elte.hu \
    --cc=torvalds@linux-foundation.org \
    --cc=y-goto@jp.fujitsu.com \
    --cc=yhlu.kernel@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.