All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Mackall <mpm@selenic.com>
To: Paul Mundt <lethal@linux-sh.org>,
	Christoph Lameter <clameter@sgi.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, ak@suse.de, hugh@veritas.com,
	lee.schermerhorn@hp.com, Nick Piggin <nickpiggin@yahoo.com.au>
Subject: Re: [PATCH] numa: mempolicy: dynamic interleave map for system init.
Date: Tue, 12 Jun 2007 10:32:34 -0500	[thread overview]
Message-ID: <20070612153234.GI11115@waste.org> (raw)
In-Reply-To: <20070612094359.GA5803@linux-sh.org>

On Tue, Jun 12, 2007 at 06:43:59PM +0900, Paul Mundt wrote:
> On Fri, Jun 08, 2007 at 09:50:11AM -0500, Matt Mackall wrote:
> > SLOB's big scalability problem at this point is number of CPUs.
> > Throwing some fine-grained locking at it or the like may be able to
> > help with that too.
> > 
> > Why would you even want to bother making it scale that large? For
> > starters, it's less affected by things like dcache fragmentation. The
> > majority of pages pinned by long-lived dcache entries will still be
> > available to other allocations.
> > 
> > Haven't given any thought to NUMA yet though..
> > 
> This is what I've hacked together and tested with my small nodes. It's
> not terribly intelligent, and it pushes off most of the logic to the page
> allocator. Obviously it's not terribly scalable, and I haven't tested it
> with page migration, either. Still, it works for me with my simple tmpfs
> + mpol policy tests.
> 
> Tested on a UP + SPARSEMEM (static, not extreme) + NUMA (2 nodes) + SLOB
> configuration.
> 
> Flame away!

For starters, it's not against the current SLOB, which no longer has
the bigblock list.

> -void *__kmalloc(size_t size, gfp_t gfp)
> +static void *__kmalloc_alloc(size_t size, gfp_t gfp, int node)

That's a ridiculous name. So, uh.. more underbars!

Though really, I think you can just name it __kmalloc_node?

> +		if (node == -1)
> +			pages = alloc_pages(flags, get_order(c->size));
> +		else
> +			pages = alloc_pages_node(node, flags,
> +						get_order(c->size));

This fragment appears a few times. Looks like it ought to get its own
function. And that function can reduce to a trivial inline in the
!NUMA case.

> +void *kmem_cache_alloc_node(struct kmem_cache *c, gfp_t flags, int node)
> +{
> +	return __kmem_cache_alloc(c, flags, node);
> +}

If we make the underlying functions all take a node, this stuff all
gets simpler.

>  static void slob_timer_cbk(void)

This is gone in the latest SLOB too.

-- 
Mathematics is the supreme nostalgia of our time.

--
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-06-12 15:32 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-07  1:17 [PATCH] numa: mempolicy: dynamic interleave map for system init Paul Mundt
2007-06-08  1:01 ` Andrew Morton
2007-06-08  2:47   ` Christoph Lameter
2007-06-08  3:01     ` Andrew Morton
2007-06-08  3:11       ` Christoph Lameter
2007-06-08  3:25     ` Paul Mundt
2007-06-08  3:49       ` Christoph Lameter
2007-06-08  4:13         ` Paul Mundt
2007-06-08  4:27           ` Christoph Lameter
2007-06-08  6:05             ` Paul Mundt
2007-06-08  6:09               ` Christoph Lameter
2007-06-08  6:27                 ` Paul Mundt
2007-06-08  6:43                   ` Christoph Lameter
2007-06-08 14:50       ` Matt Mackall
2007-06-12  2:36         ` Nick Piggin
2007-06-12  9:43         ` Paul Mundt
2007-06-12 15:32           ` Matt Mackall [this message]
2007-06-13  2:10             ` Nick Piggin
2007-06-13  3:12               ` Matt Mackall
2007-06-13  2:53             ` Paul Mundt
2007-06-13  3:16               ` Matt Mackall

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=20070612153234.GI11115@waste.org \
    --to=mpm@selenic.com \
    --cc=ak@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=clameter@sgi.com \
    --cc=hugh@veritas.com \
    --cc=lee.schermerhorn@hp.com \
    --cc=lethal@linux-sh.org \
    --cc=linux-mm@kvack.org \
    --cc=nickpiggin@yahoo.com.au \
    /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.