From: Nick Piggin <npiggin@suse.de> To: Pekka Enberg <penberg@cs.helsinki.fi> Cc: 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>, 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: Tue, 25 May 2010 21:06:58 +1000 [thread overview] Message-ID: <20100525110658.GL5087@laptop> (raw) In-Reply-To: <AANLkTimazVL8G-XQURiQ1s0M3NKa2ndXNceSaw9sADRQ@mail.gmail.com> On Tue, May 25, 2010 at 01:45:07PM +0300, Pekka Enberg wrote: > Hi Nick, > > On Tue, May 25, 2010 at 1:19 PM, Nick Piggin <npiggin@suse.de> wrote: > >> Like I said, as a maintainer I'm happy to merge patches to modernize > >> SLAB > > > > I think that would be most productive at this point. I will volunteer > > to do it. > > OK, great! > > > As much as I would like to see SLQB be merged :) I think the best > > option is to go with SLAB because it is very well tested and very > > very well performing. > > I would have liked to see SLQB merged as well but it just didn't happen. It seemed a bit counter productive if the goal is to have one allocator. I think it still has merit but I should really practice what I preach and propose incremental improvements to SLAB. > > If Christoph or you or I or anyone have genuine improvements to make > > to the core algorithms, then the best thing to do will just be do > > make incremental changes to SLAB. > > I don't see the problem in improving SLUB even if we start modernizing > SLAB. Do you? I'm obviously biased towards SLUB still for the reasons > I already mentioned. I don't want to be a blocker for progress so if I > turn out to be a problem, we should consider changing the > maintainer(s). ;-) I think it just has not proven itself at this point, we have most production kernels (at least, the performance sensitive ones that I'm aware of) running on SLAB, and if it is conceded that lack of queueing and reliance on higher order allocations is a problem then I think it is far better just to bite the bullet now, drop it so we can have a single allocator. Rather than adding SLAB-like queueing to it and other big changes. Then make incremental improvements to SLAB. I have no problems at all with trying new ideas, but really, they should be done in SLAB as incremental improvements. Everywhere we take that approach, things seem to work better than when we do wholesale rip and replacements. I don't want Christoph (or myself, or you) to stop testing new ideas, but really there are almost no good reasons as to why they can be done as incremental patches. With SLAB code cleaned up, there will be even fewer reasons. > > There are several aspects to this. I think the first one will be to > > actually modernize the code style, simplify the bootstrap process and > > static memory allocations (SLQB goes even further than SLUB in this > > regard), and to pull in debug features from SLUB. > > > > These steps should be made without any changes to core algorithms. > > Alien caches can easily be disabled and at present they are really > > only a problem for big Altixes where it is a known parameter to tune. > > > > From that point, I think we should concede that SLUB has not fulfilled > > performance promises, and make SLAB the default. > > Sure. I don't care which allocator "wins" if we actually are able to get there. SLUB is already behind the 8 ball here. So is SLQB I don't mind saying because it has had much much less testing.
WARNING: multiple messages have this Message-ID (diff)
From: Nick Piggin <npiggin@suse.de> To: Pekka Enberg <penberg@cs.helsinki.fi> Cc: 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>, 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: Tue, 25 May 2010 21:06:58 +1000 [thread overview] Message-ID: <20100525110658.GL5087@laptop> (raw) In-Reply-To: <AANLkTimazVL8G-XQURiQ1s0M3NKa2ndXNceSaw9sADRQ@mail.gmail.com> On Tue, May 25, 2010 at 01:45:07PM +0300, Pekka Enberg wrote: > Hi Nick, > > On Tue, May 25, 2010 at 1:19 PM, Nick Piggin <npiggin@suse.de> wrote: > >> Like I said, as a maintainer I'm happy to merge patches to modernize > >> SLAB > > > > I think that would be most productive at this point. I will volunteer > > to do it. > > OK, great! > > > As much as I would like to see SLQB be merged :) I think the best > > option is to go with SLAB because it is very well tested and very > > very well performing. > > I would have liked to see SLQB merged as well but it just didn't happen. It seemed a bit counter productive if the goal is to have one allocator. I think it still has merit but I should really practice what I preach and propose incremental improvements to SLAB. > > If Christoph or you or I or anyone have genuine improvements to make > > to the core algorithms, then the best thing to do will just be do > > make incremental changes to SLAB. > > I don't see the problem in improving SLUB even if we start modernizing > SLAB. Do you? I'm obviously biased towards SLUB still for the reasons > I already mentioned. I don't want to be a blocker for progress so if I > turn out to be a problem, we should consider changing the > maintainer(s). ;-) I think it just has not proven itself at this point, we have most production kernels (at least, the performance sensitive ones that I'm aware of) running on SLAB, and if it is conceded that lack of queueing and reliance on higher order allocations is a problem then I think it is far better just to bite the bullet now, drop it so we can have a single allocator. Rather than adding SLAB-like queueing to it and other big changes. Then make incremental improvements to SLAB. I have no problems at all with trying new ideas, but really, they should be done in SLAB as incremental improvements. Everywhere we take that approach, things seem to work better than when we do wholesale rip and replacements. I don't want Christoph (or myself, or you) to stop testing new ideas, but really there are almost no good reasons as to why they can be done as incremental patches. With SLAB code cleaned up, there will be even fewer reasons. > > There are several aspects to this. I think the first one will be to > > actually modernize the code style, simplify the bootstrap process and > > static memory allocations (SLQB goes even further than SLUB in this > > regard), and to pull in debug features from SLUB. > > > > These steps should be made without any changes to core algorithms. > > Alien caches can easily be disabled and at present they are really > > only a problem for big Altixes where it is a known parameter to tune. > > > > From that point, I think we should concede that SLUB has not fulfilled > > performance promises, and make SLAB the default. > > Sure. I don't care which allocator "wins" if we actually are able to get there. SLUB is already behind the 8 ball here. So is SLQB I don't mind saying because it has had much much less testing. -- 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 11:07 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 [this message] 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 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=20100525110658.GL5087@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: linkBe 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.