From: David Rientjes <rientjes@google.com>
To: Nick Piggin <npiggin@suse.de>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>,
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>,
Linus Torvalds <torvalds@linux-foundation.org>,
Zhang Yanmin <yanmin_zhang@linux.intel.com>,
Matthew Wilcox <willy@linux.intel.com>,
Matt Mackall <mpm@selenic.com>
Subject: Re: [RFC V2 SLEB 00/14] The Enhanced(hopefully) Slab Allocator
Date: Tue, 25 May 2010 03:07:47 -0700 (PDT) [thread overview]
Message-ID: <alpine.DEB.2.00.1005250303040.8045@chino.kir.corp.google.com> (raw)
In-Reply-To: <20100525081634.GE5087@laptop>
On Tue, 25 May 2010, Nick Piggin wrote:
> I don't think SLUB ever proved itself very well. The selling points
> were some untestable handwaving about how queueing is bad and jitter
> is bad, ignoring the fact that queues could be shortened and periodic
> reaping disabled at runtime with SLAB style of allocator. It also
> has relied heavily on higher order allocations which put great strain
> on hugepage allocations and page reclaim (witness the big slowdown
> in low memory conditions when tmpfs was using higher order allocations
> via SLUB).
>
I agree that the higher order allocations is a major problem and slub
relies heavily on them for being able to utilize both the allocation and
freeing fastpaths for a number of caches. For systems with a very large
amount of memory that isn't fully utilized and fragmentation isn't an
issue, this works fine, but for users who use all their memory and do some
amount of reclaim it comes at a significant cost. The cpu slab thrashing
problem that I identified with the netperf TCP_RR benchmark can be heavily
reduced by tuning certain kmalloc caches to allocate higher order slabs,
but that makes it very difficult to run with hugepages and the allocation
slowpath even slower. There are commandline workarounds to prevent slub
from using these higher order allocations, but the performance of the
allocator then suffers as a result.
> SLUB has not been able to displace SLAB for a long timedue to
> performance and higher order allocation problems.
>
Completely agreed.
--
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 10:07 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
2010-05-25 17:35 ` Pekka Enberg
2010-05-25 17:40 ` Nick Piggin
2010-05-25 10:07 ` David Rientjes [this message]
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=alpine.DEB.2.00.1005250303040.8045@chino.kir.corp.google.com \
--to=rientjes@google.com \
--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=mpm@selenic.com \
--cc=npiggin@suse.de \
--cc=penberg@cs.helsinki.fi \
--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