From: Nick Piggin <npiggin@suse.de>
To: Christoph Lameter <cl@linux-foundation.org>
Cc: Christoph Lameter <cl@linux.com>,
Pekka Enberg <penberg@cs.helsinki.fi>,
linux-mm@kvack.org,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [RFC V2 SLEB 00/14] The Enhanced(hopefully) Slab Allocator
Date: Wed, 26 May 2010 01:37:59 +1000 [thread overview]
Message-ID: <20100525153759.GA20853@laptop> (raw)
In-Reply-To: <alpine.DEB.2.00.1005251022220.30395@router.home>
On Tue, May 25, 2010 at 10:28:11AM -0500, Christoph Lameter wrote:
> On Wed, 26 May 2010, Nick Piggin wrote:
>
> > You do not understand. There is nothing *preventing* other designs of
> > allocators from using higher order allocations. The problem is that
> > SLUB is *forced* to use them due to it's limited queueing capabilities.
>
> SLUBs use of higher order allocation is *optional*. The limited queuing is
> advantageous within the framework of SLUB because NUMA locality checks are
> simplified and locking is localized to a single page increasing
> concurrency.
It's not optional if performance sucks without it. People want to have
a well performing slab allocator and also not have the downsides of it
using higher order allocations.
Look at what David said about Google's kernel for a concrete example.
> > You keep spinning this as a good thing for SLUB design when it is not.
>
> It is a good design decision. You have an irrational fear of higher order
> allocations.
No.
> > > The reason that the alien caches made it into SLAB were performance
> > > numbers that showed that the design "must" be this way. I prefer a clear
> > > maintainable design over some numbers (that invariably show the bias of
> > > the tester for certain loads).
> >
> > I don't really agree. There are a number of other possible ways to
> > improve it, including fewer remote freeing queues.
>
> You disagree with the history of the allocator?
I don't agree with you saying that it "must" be that way. There are
other ways to improve things there.
> > How is it possibly better to instead start from the known suboptimal
> > code and make changes to it? What exactly is your concern with
> > making incremental changes to SLAB?
>
> I am not sure why you want me to repeat what I already said. Guess we
> should stop this conversation since it is deteriorating.
You never answered these questions adequately. These are the 2 most
important things because if I can address your concerns with them,
then we can go ahead and throw out SLUB and make incremental
improvements from there instead.
--
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 15:38 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-21 21:14 [RFC V2 SLEB 00/14] The Enhanced(hopefully) Slab Allocator 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 5:55 ` Pekka Enberg
2010-06-09 6:20 ` David Rientjes
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:03 ` Pekka Enberg
2010-05-25 8:16 ` Nick Piggin
2010-05-25 8:16 ` Nick Piggin
2010-05-25 9:19 ` Pekka Enberg
2010-05-25 9:19 ` Pekka Enberg
2010-05-25 9:34 ` Nick Piggin
2010-05-25 9:34 ` Nick Piggin
2010-05-25 9:53 ` Pekka Enberg
2010-05-25 9:53 ` Pekka Enberg
2010-05-25 10:19 ` Nick Piggin
2010-05-25 10:19 ` Nick Piggin
2010-05-25 10:45 ` Pekka Enberg
2010-05-25 10:45 ` Pekka Enberg
2010-05-25 11:06 ` Nick Piggin
2010-05-25 11:06 ` Nick Piggin
2010-05-25 15:13 ` Linus Torvalds
2010-05-25 15:13 ` Linus Torvalds
2010-05-25 15:43 ` Nick Piggin
2010-05-25 15:43 ` Nick Piggin
2010-05-25 17:02 ` Pekka Enberg
2010-05-25 17:02 ` Pekka Enberg
2010-05-25 17:19 ` Nick Piggin
2010-05-25 17:19 ` Nick Piggin
2010-05-25 17:35 ` Pekka Enberg
2010-05-25 17:35 ` Pekka Enberg
2010-05-25 17:40 ` Nick Piggin
2010-05-25 17:40 ` Nick Piggin
2010-05-25 10:07 ` David Rientjes
2010-05-25 10:07 ` David Rientjes
2010-05-25 10:02 ` David Rientjes
2010-05-25 10:02 ` David Rientjes
2010-05-25 10:47 ` Pekka Enberg
2010-05-25 10:47 ` Pekka Enberg
2010-05-25 19:57 ` David Rientjes
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 [this message]
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=20100525153759.GA20853@laptop \
--to=npiggin@suse.de \
--cc=cl@linux-foundation.org \
--cc=cl@linux.com \
--cc=linux-mm@kvack.org \
--cc=penberg@cs.helsinki.fi \
--cc=torvalds@linux-foundation.org \
/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.