From: Nick Piggin <npiggin@suse.de>
To: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Christoph Lameter <cl@linux-foundation.org>,
Christoph Lameter <cl@linux.com>,
linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
David Rientjes <rientjes@google.com>,
Zhang Yanmin <yanmin_zhang@linux.intel.com>,
Matthew Wilcox <willy@linux.intel.com>,
Matt Mackall <mpm@selenic.com>, Mel Gorman <mel@csn.ul.ie>
Subject: Re: [RFC V2 SLEB 00/14] The Enhanced(hopefully) Slab Allocator
Date: Wed, 26 May 2010 03:19:59 +1000 [thread overview]
Message-ID: <20100525171959.GH20853@laptop> (raw)
In-Reply-To: <AANLkTilEIwPSN-stGGuu5wV4Q6Ty0GytNMpfq-vRpK_k@mail.gmail.com>
On Tue, May 25, 2010 at 08:02:32PM +0300, Pekka Enberg wrote:
> Hi Nick,
>
> On Tue, May 25, 2010 at 6:43 PM, Nick Piggin <npiggin@suse.de> wrote:
> > As far as I can see, there was never a good reason to replace SLAB
> > rather than clean up its code and make incremental improvements.
>
> I'm not totally convinced but I guess we're about to find that out.
> How do you propose we benchmark SLAB while we clean it up
Well the first pass will be code cleanups, bootstrap simplifications.
Then looking at what debugging features were implemented in SLUB but not
SLAB and what will be useful to bring over from there.
At this point the aim would be for actual allocation behaviour with
non-debug settings to be unchanged. Hopefully this removes everyone's
(apparently) largest gripe that code is crufty.
Next would be to add some options to tweak queue sizes and disable
cache reaping at runtime, for the benfit of the low jitter crowd,
see if any further hotplug fixes are required.
Then would be to propose incremental improvements to actual algorithm.
For example, replacing the alien cache crossbar with a lighter weight
or more scalable structure.
> and change
> things to make sure we don't make the same mistakes as we did with
> SLUB (i.e. miss an important workload like TPC-C)?
Obviously it is impossible to make forward progress and also catch
all regressions before release. This fact means that we have to be
able to cope with them as well as possible.
We get two benefits from starting with SLAB. Firstly, we get a larger
testing base. Secondly, we get a simple (ie. git revert) formula of how
to get from good behaviour to bad behaviour.
I don't anticipate a huge number of functional changes to SLAB here
though. It's surprisingly hard to do better than it. alien caches are
one area, maybe configurable higher order allocation support, jitter
reduction.
If we do get a big proposed change in the pipeline, then we have to
eat it somehow, but AFAIKS we've still got a better foundation than
starting with a completely new allocator and feeling around in the
dark trying to move it past SLAB in terms of performance.
--
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:[~2010-05-25 17:20 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-21 21:14 Christoph Lameter
2010-05-21 21:14 ` [RFC V2 SLEB 01/14] slab: Introduce a constant for a unspecified node Christoph Lameter
2010-06-07 21:44 ` David Rientjes
2010-06-07 22:30 ` Christoph Lameter
2010-06-08 5:41 ` Pekka Enberg
2010-06-08 6:20 ` David Rientjes
2010-06-08 6:34 ` Pekka Enberg
2010-06-08 23:35 ` David Rientjes
2010-06-09 5:55 ` Pekka Enberg
2010-06-09 6:20 ` David Rientjes
2010-05-21 21:14 ` [RFC V2 SLEB 02/14] SLUB: Constants need UL Christoph Lameter
2010-05-21 21:14 ` [RFC V2 SLEB 03/14] SLUB: Use kmem_cache flags to detect if Slab is in debugging mode Christoph Lameter
2010-06-08 3:57 ` David Rientjes
2010-05-21 21:14 ` [RFC V2 SLEB 04/14] SLUB: discard_slab_unlock Christoph Lameter
2010-05-21 21:14 ` [RFC V2 SLEB 05/14] SLUB: is_kmalloc_cache Christoph Lameter
2010-06-08 8:54 ` David Rientjes
2010-05-21 21:14 ` [RFC V2 SLEB 06/14] SLUB: Get rid of the kmalloc_node slab Christoph Lameter
2010-06-09 6:14 ` David Rientjes
2010-06-09 16:14 ` Christoph Lameter
2010-06-09 16:26 ` Pekka Enberg
2010-06-10 6:07 ` Pekka Enberg
2010-05-21 21:14 ` [RFC V2 SLEB 07/14] SLEB: The Enhanced Slab Allocator Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 08/14] SLEB: Resize cpu queue Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 09/14] SLED: Get rid of useless function Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 10/14] SLEB: Remove MAX_OBJS limitation Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 11/14] SLEB: Add per node cache (with a fixed size for now) Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 12/14] SLEB: Make the size of the shared cache configurable Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 13/14] SLEB: Enhanced NUMA support Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 14/14] SLEB: Allocate off node objects from remote shared caches Christoph Lameter
2010-05-22 8:37 ` [RFC V2 SLEB 00/14] The Enhanced(hopefully) Slab Allocator Pekka Enberg
2010-05-24 7:03 ` Nick Piggin
2010-05-24 15:06 ` Christoph Lameter
2010-05-25 2:06 ` Nick Piggin
2010-05-25 6:55 ` Pekka Enberg
2010-05-25 7:07 ` Nick Piggin
2010-05-25 8:03 ` Pekka Enberg
2010-05-25 8:16 ` Nick Piggin
2010-05-25 9:19 ` Pekka Enberg
2010-05-25 9:34 ` Nick Piggin
2010-05-25 9:53 ` Pekka Enberg
2010-05-25 10:19 ` Nick Piggin
2010-05-25 10:45 ` Pekka Enberg
2010-05-25 11:06 ` Nick Piggin
2010-05-25 15:13 ` Linus Torvalds
2010-05-25 15:43 ` Nick Piggin
2010-05-25 17:02 ` Pekka Enberg
2010-05-25 17:19 ` Nick Piggin [this message]
2010-05-25 17:35 ` Pekka Enberg
2010-05-25 17:40 ` Nick Piggin
2010-05-25 10:07 ` David Rientjes
2010-05-25 10:02 ` David Rientjes
2010-05-25 10:47 ` Pekka Enberg
2010-05-25 19:57 ` David Rientjes
2010-05-25 14:13 ` Christoph Lameter
2010-05-25 14:34 ` Nick Piggin
2010-05-25 14:43 ` Nick Piggin
2010-05-25 14:48 ` Christoph Lameter
2010-05-25 15:11 ` Nick Piggin
2010-05-25 15:28 ` Christoph Lameter
2010-05-25 15:37 ` Nick Piggin
2010-05-27 14:24 ` Christoph Lameter
2010-05-27 14:37 ` Nick Piggin
2010-05-27 15:52 ` Christoph Lameter
2010-05-27 16:07 ` Nick Piggin
2010-05-27 16:57 ` Christoph Lameter
2010-05-28 8:39 ` Nick Piggin
2010-05-25 14:40 ` Nick Piggin
2010-05-25 14:48 ` Christoph Lameter
2010-05-25 15:12 ` Nick Piggin
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=20100525171959.GH20853@laptop \
--to=npiggin@suse.de \
--cc=akpm@linux-foundation.org \
--cc=cl@linux-foundation.org \
--cc=cl@linux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=mpm@selenic.com \
--cc=penberg@cs.helsinki.fi \
--cc=rientjes@google.com \
--cc=torvalds@linux-foundation.org \
--cc=willy@linux.intel.com \
--cc=yanmin_zhang@linux.intel.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