From: Christoph Lameter <clameter@engr.sgi.com>
To: Andi Kleen <ak@suse.de>
Cc: steiner@sgi.com, linux-mm@kvack.org, alokk@calsoftinc.com
Subject: Re: [RFC] Make the slab allocator observe NUMA policies
Date: Mon, 14 Nov 2005 11:08:37 -0800 (PST) [thread overview]
Message-ID: <Pine.LNX.4.62.0511141055560.1222@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <200511141944.33478.ak@suse.de>
On Mon, 14 Nov 2005, Andi Kleen wrote:
> > Any idea how to push this to the page allocation within the slab without
> > rearchitecting the thing?
>
> I believe that's only a small fraction of the allocations, for where
> the slabs are big enough to be an significant part of the page.
>
> Proof: VM breaks down with higher orders. If slab would use them
> all the time it would break down too. It doesn't. Q.E.D ;-)
Yes the higher order pages are rare. However, regular sized pages are
frequent and the allocations for these pages always consult
task->mempolicy.
> Another way (as a backup option) would be to RR them as higher order pages,
> but that would need new special code.
The proposed patch RRs higher order pages as configured by the memory
policy.
The other fundamental problem that I mentioned remains:
The slab allocator is designed in such a way that it needs to know the
node for the allocation before it does its work. This is because the
nodelists are per node since 2.6.14. You wanted to do the policy
application on the back end so after all the work is done (presumably
for the current node) and after the node specific lists have been
examined. Policy application at that point may find that another
node than the current node was desired and the whole thing has to be
redone for the other node. This will significantly negatively impact
the performance of the slab allocator in particular if the current node
is is unlikely to be chosen for the memory policy.
I have thought about various ways to modify kmem_getpages() but these do
not fit into the basic current concept of the slab allocator. The
proposed method is the cleanest approach that I can think of. I'd be glad
if you could come up with something different but AFAIK simply moving the
policy application down in the slab allocator does not work.
--
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:[~2005-11-14 19:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-10 22:04 Christoph Lameter
2005-11-11 3:06 ` Andi Kleen
2005-11-11 17:40 ` Christoph Lameter
2005-11-13 11:22 ` Andi Kleen
2005-11-14 18:05 ` Christoph Lameter
2005-11-14 18:44 ` Andi Kleen
2005-11-14 19:08 ` Christoph Lameter [this message]
2005-11-15 3:34 ` Andi Kleen
2005-11-15 16:43 ` Christoph Lameter
2005-11-15 16:51 ` Andi Kleen
2005-11-15 16:55 ` 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=Pine.LNX.4.62.0511141055560.1222@schroedinger.engr.sgi.com \
--to=clameter@engr.sgi.com \
--cc=ak@suse.de \
--cc=alokk@calsoftinc.com \
--cc=linux-mm@kvack.org \
--cc=steiner@sgi.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