linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Dave Hansen <dave@linux.vnet.ibm.com>
To: C Michael Sundius <Michael.sundius@sciatl.com>
Cc: linux-mm@kvack.org, msundius@sundius.com,
	Andy Whitcroft <apw@shadowen.org>
Subject: Re: sparcemem or discontig?
Date: Tue, 29 Jul 2008 14:51:21 -0700	[thread overview]
Message-ID: <1217368281.13228.72.camel@nimitz> (raw)
In-Reply-To: <488F5D5F.9010006@sciatl.com>

On Tue, 2008-07-29 at 11:11 -0700, C Michael Sundius wrote:
> 
> My understanding is that SPARCEMEM is the way of the future, and since
> I don't really have a NUMA machine, maybe sparcemem is more appropriate,
> yes? On the other hand I can't find much info about how it works or how
> to add support for it on an architecture that has here-to-fore not
> supported that option.
> 
> Is there anywhere that there is a paper or rfp that describes how the
> spacemem (or discontig) features work (and/or the differences between
> then)?

I think you're talking about sparsemem. :)

My opinion is that NUMA and DISCONTIG are too intertwined to be useful
apart from the other.  I use sparsemem on my non-NUMA 2 CPU laptop since
it has a 1GB hole.  It is *possible* to use DISCONTIG without NUMA, and
I'm sure people use it this way, but I just personally think it is a bit
of a pain.  

Basically, to add sparsemem support for an architecture, you need a
header like these:

dave@nimitz:~/lse/linux/2.5/linux-2.6.git$ find | grep sparse | xargs
grep -c '^.*$'
./include/asm-powerpc/sparsemem.h:32
./include/asm-x86/sparsemem.h:34
./include/asm-sh/sparsemem.h:16
./include/asm-mips/sparsemem.h:14
./include/asm-ia64/sparsemem.h:20
./include/asm-s390/sparsemem.h:18
./include/asm-arm/sparsemem.h:10

These are generally pretty darn small (the largest is 34 lines).  You
also need to tweak some things in your per-arch Kconfig.  ARM looks like
a pretty simple use of sparsemem.  You might want to start with what
they've done.  We tried really, really hard to make it easy to add to
new architectures.

Feel free to cc me and Andy (cc'd) on the patches that you come up with.
I'd be happy to sanity check them for you.  If *you* want to document
the process for the next guy, I'm sure we'd be able to find some spot in
Documentation/ so the next guy has an easier time. :)

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

  reply	other threads:[~2008-07-29 21:45 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-29 18:11 C Michael Sundius
2008-07-29 21:51 ` Dave Hansen [this message]
2008-07-30  9:35   ` Andy Whitcroft
2008-07-30 16:23     ` C Michael Sundius
2008-07-30 16:29       ` Dave Hansen
2008-08-05 21:39       ` Turning on Sparsemem C Michael Sundius
2008-08-05 21:56         ` Dave Hansen
2008-08-05 22:04           ` C Michael Sundius
2008-08-05 22:19             ` Dave Hansen

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=1217368281.13228.72.camel@nimitz \
    --to=dave@linux.vnet.ibm.com \
    --cc=Michael.sundius@sciatl.com \
    --cc=apw@shadowen.org \
    --cc=linux-mm@kvack.org \
    --cc=msundius@sundius.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox