From: Dave Hansen <haveblue@us.ibm.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: Andi Kleen <ak@suse.de>,
linux-mm@kvack.org, Andy Whitcroft <apw@shadowen.org>
Subject: Re: One idea to free up page flags on NUMA
Date: Sat, 23 Sep 2006 12:24:29 -0700 [thread overview]
Message-ID: <1159039469.24331.32.camel@localhost.localdomain> (raw)
In-Reply-To: <Pine.LNX.4.64.0609230937140.15303@schroedinger.engr.sgi.com>
On Sat, 2006-09-23 at 09:39 -0700, Christoph Lameter wrote:
> On Sat, 23 Sep 2006, Andi Kleen wrote:
> > And what would we use them for?
>
> Maybe a container number?
I have a feeling this is better done at the more coarse objects like
address_spaces and vmas.
> Anyways the scheme also would reduce the number of lookups needed and
> thus the general footprint of the VM using sparse.
>
> I just looked at the arch code for i386 and x86_64 and it seems that both
> already have page tables for all of memory. It seems that a virtual memmap
> like this would just eliminate sparse overhead and not add any additional
> page table overhead.
I'm not sure to what sparse overhead you are referring. Its only
storage overhead is one pointer per SECTION_SIZE bytes of memory. The
worst case scenario is 16MB sections on ppc64 with 16TB of memory.
2^20 sections * 2^3 bytes/pointer = 2^23 bytes of sparse overhead, which
is 8MB. That's pretty little overhead no matter how you look at it,
cache footprint, tlb load, etc... Add to that the fact that we get some
extra things from sparsemem like pfn_valid() and the bookkeeping for
whether or not the memory is there (before the mem_map is actually
allocated), and it doesn't look too bad.
If someone can actually demonstrate some actual, measurable performance
problem with it, then I'm all ears. I worry that anything else is just
potential overzealous micro-optimization trying to solve problems that
don't really exist. Remember, sparsemem slightly beats discontigmem on
x86 NUMA hardware, so it isn't much of a dog to begin with.
Sparsemem is a ~100 line patch to port to a new architecture. That code
is virtually all #defines and hooking into the pfn_to_page() mechanisms.
There's virtually no logic in there. That's going to be hard to beat
with any kind of vmem_map[] approach.
-- Dave
--
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:[~2006-09-23 19:24 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-23 3:02 Christoph Lameter
2006-09-23 16:04 ` Andi Kleen
2006-09-23 16:39 ` Christoph Lameter
2006-09-23 18:43 ` Andi Kleen
2006-09-24 1:57 ` Christoph Lameter
2006-09-24 7:24 ` Andi Kleen
2006-09-25 0:31 ` Christoph Lameter
2006-09-25 3:04 ` Andi Kleen
2006-09-25 3:46 ` Christoph Lameter
2006-09-23 19:24 ` Dave Hansen [this message]
2006-09-24 1:56 ` Christoph Lameter
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=1159039469.24331.32.camel@localhost.localdomain \
--to=haveblue@us.ibm.com \
--cc=ak@suse.de \
--cc=apw@shadowen.org \
--cc=clameter@sgi.com \
--cc=linux-mm@kvack.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