From: Christoph Lameter <clameter@sgi.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Yasunori Goto <y-goto@jp.fujitsu.com>,
Linux Kernel ML <linux-kernel@vger.kernel.org>,
linux-mm <linux-mm@kvack.org>
Subject: Re: [Patch](memory hotplug) Make kmem_cache_node for SLUB on memory online to avoid panic(take 3)
Date: Thu, 18 Oct 2007 02:13:34 -0700 (PDT) [thread overview]
Message-ID: <Pine.LNX.4.64.0710180203500.13576@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <20071018000004.cf4727e7.akpm@linux-foundation.org>
On Thu, 18 Oct 2007, Andrew Morton wrote:
> > Slab brings up a per node structure when the corresponding cpu is brought
> > up. That was sufficient as long as we did not have any memoryless nodes.
> > Now we may have to fix some things over there as well.
>
> Is there amy point? Our time would be better spent in making
> slab.c go away. How close are we to being able to do that anwyay?
Well the problem right now is the regression in slab_free() on SMP.
AFAICT UP and NUMA is fine and also most loads under SMP. Concurrent
allocation / frees on multiple processors are several times faster (I see
up to 10 fold improvements on an 8p).
However, long sequences of free operations from a single processor under
SMP require too many atomic operations compared with SLAB. If I only do
frees on a single processor on SMP then I can produce a 30% regression for
slabs between 128 and 1024 byte in size. I have a patchset in the works
that reduces the atomic operations for those.
SLAB currently has an advantage since it uses coarser grained locking.
SLAB can take a global lock and then perform queue operations on
multiple objects. SLUB has fine grained locking which increases
concurrency but also the overhead of atomic operations.
The regression does not surface under UP since we do not need to do
locking. And it does not surface under NUMA since the alien cache stuff in
SLAB is reducing slab_free performance compared to SMP.
--
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:[~2007-10-18 9:13 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-18 3:25 [Patch](memory hotplug) Make kmem_cache_node for SLUB on memory online to avoid panic(take 3) Yasunori Goto
2007-10-18 3:46 ` Andrew Morton
2007-10-18 6:25 ` Christoph Lameter
2007-10-18 7:00 ` Andrew Morton
2007-10-18 8:33 ` Yasunori Goto
2007-10-18 9:13 ` Christoph Lameter [this message]
2007-10-18 9:20 ` Yasunori Goto
2007-10-23 4:21 ` [PATCH] Fix warning in mm/slub.c Olof Johansson
2007-10-23 5:35 ` Yasunori Goto
2007-10-23 7:52 ` Pekka Enberg
2007-10-23 16:21 ` 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.64.0710180203500.13576@schroedinger.engr.sgi.com \
--to=clameter@sgi.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=y-goto@jp.fujitsu.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;
as well as URLs for NNTP newsgroup(s).