Re: [15/17] SLUB: Support virtual fallback via SLAB_VFALLBACK

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Nick Piggin <nickpiggin@...>
Cc: Christoph Hellwig <hch@...>, Mel Gorman <mel@...>, <linux-fsdevel@...>, <linux-kernel@...>, David Chinner <dgc@...>, Jens Axboe <jens.axboe@...>
Date: Friday, September 28, 2007 - 1:33 pm

On Fri, 28 Sep 2007, Nick Piggin wrote:


The more objects in a page the more the fast path runs. The more the fast 
path runs the lower the cache footprint and the faster the overall 
allocations etc.

SLAB can be configured for large queues holdings lots of objects. 
SLUB can only reach the same through large pages because it does not 
have queues. One could add the ability to manage pools of cpu slabs but 
that would be adding yet another layer to compensate for the problem of 
the small pages. Reliable large page allocations means that we can get rid 
of these layers and the many workarounds that we have in place right now.

The unqueued nature of SLUB reduces memory requirements and in general the 
more efficient code paths of SLUB offset the advantage that SLAB can reach 
by being able to put more objects onto its queues. SLAB necessarily 
introduces complexity and cache line use through the need to manage those 
queues.


Again I have not seen any fallbacks to vmalloc in my testing. What we are 
doing here is mainly to address your theoretical cases that we so far have 
never seen to be a problem and increase the reliability of allocations of
page orders larger than 3 to a usable level. So far I have so far not 
dared to enable orders larger than 3 by default.

AFAICT The performance of vmalloc is not really relevant. If this would 
become an issue then it would be possible to reduce the orders used to 
avoid fallbacks.


AFAICT SLUBs performance is superior to SLAB in most cases and it was like 
that from the beginning. I am still concerned about several corner cases 
though (I think most of them are going to be addressed by the per cpu 
patches in mm). Having a comparable or larger amount of per cpu objects as 
SLAB is something that also could address some of these concerns and could 
increase performance much further.
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[15/17] SLUB: Support virtual fallback via SLAB_VFALLBACK, Christoph Lameter, (Tue Sep 18, 11:36 pm)
Re: [15/17] SLUB: Support virtual fallback via SLAB_VFALLBACK, Christoph Lameter, (Fri Sep 28, 1:33 pm)
Re: [15/17] SLUB: Support virtual fallback via SLAB_VFALLBACK, Christoph Lameter, (Mon Oct 1, 4:50 pm)
SLUB performance regression vs SLAB, Matthew Wilcox, (Thu Oct 4, 12:16 pm)
Re: SLUB performance regression vs SLAB, Christoph Lameter, (Thu Oct 4, 1:38 pm)
Re: SLUB performance regression vs SLAB, Arjan van de Ven, (Thu Oct 4, 1:50 pm)
Re: SLUB performance regression vs SLAB, David Miller, (Thu Oct 4, 4:48 pm)
RE: SLUB performance regression vs SLAB, David Schwartz, (Thu Oct 4, 7:39 pm)
Re: SLUB performance regression vs SLAB, Chuck Ebbert, (Thu Oct 4, 7:49 pm)
RE: SLUB performance regression vs SLAB, David Schwartz, (Fri Oct 5, 12:18 am)
Re: SLUB performance regression vs SLAB, Matthew Wilcox, (Thu Oct 4, 4:58 pm)
Re: SLUB performance regression vs SLAB, Christoph Lameter, (Thu Oct 4, 5:11 pm)
Re: SLUB performance regression vs SLAB, David Miller, (Thu Oct 4, 5:05 pm)
Re: SLUB performance regression vs SLAB, Peter Zijlstra, (Thu Oct 4, 2:26 pm)
Re: SLUB performance regression vs SLAB, Christoph Lameter, (Thu Oct 4, 1:58 pm)
Re: SLUB performance regression vs SLAB, Matthew Wilcox, (Thu Oct 4, 2:32 pm)
Re: SLUB performance regression vs SLAB, Christoph Lameter, (Thu Oct 4, 1:49 pm)
Re: SLUB performance regression vs SLAB, Matthew Wilcox, (Thu Oct 4, 3:28 pm)
Re: SLUB performance regression vs SLAB, David Miller, (Thu Oct 4, 4:55 pm)
Re: SLUB performance regression vs SLAB, Chuck Ebbert, (Thu Oct 4, 5:02 pm)
Re: SLUB performance regression vs SLAB, Peter Zijlstra, (Fri Oct 5, 4:32 pm)
Re: SLUB performance regression vs SLAB, David Miller, (Fri Oct 5, 5:31 pm)
Re: SLUB performance regression vs SLAB, David Miller, (Thu Oct 4, 5:11 pm)
Re: SLUB performance regression vs SLAB, Chuck Ebbert, (Thu Oct 4, 5:47 pm)
Re: SLUB performance regression vs SLAB, David Miller, (Thu Oct 4, 6:07 pm)
Re: SLUB performance regression vs SLAB, David Chinner, (Thu Oct 4, 6:23 pm)
Re: SLUB performance regression vs SLAB, Jens Axboe, (Fri Oct 5, 2:48 am)
Re: SLUB performance regression vs SLAB, Matthew Wilcox, (Fri Oct 5, 7:56 am)
Re: SLUB performance regression vs SLAB, Christoph Lameter, (Fri Oct 5, 3:27 pm)
Re: SLUB performance regression vs SLAB, Jens Axboe, (Fri Oct 5, 8:37 am)
Re: SLUB performance regression vs SLAB, Pekka Enberg, (Fri Oct 5, 5:19 am)
Re: SLUB performance regression vs SLAB, Jens Axboe, (Fri Oct 5, 5:28 am)
Re: SLUB performance regression vs SLAB, Andi Kleen, (Fri Oct 5, 7:12 am)
Re: SLUB performance regression vs SLAB, Jens Axboe, (Fri Oct 5, 8:39 am)
Re: SLUB performance regression vs SLAB, Christoph Lameter, (Fri Oct 5, 3:31 pm)
Re: SLUB performance regression vs SLAB, Christoph Lameter, (Fri Oct 5, 3:32 pm)
Re: SLUB performance regression vs SLAB, Matthew Wilcox, (Thu Oct 4, 5:05 pm)
Re: SLUB performance regression vs SLAB, Christoph Lameter, (Thu Oct 4, 10:43 pm)
Re: SLUB performance regression vs SLAB, Arjan van de Ven, (Thu Oct 4, 10:53 pm)
Re: SLUB performance regression vs SLAB, Christoph Lameter, (Thu Oct 4, 3:05 pm)
Re: SLUB performance regression vs SLAB, Siddha, Suresh B, (Thu Oct 4, 3:46 pm)
Re: [15/17] SLUB: Support virtual fallback via SLAB_VFALLBACK, Christoph Lameter, (Mon Oct 1, 5:10 pm)
Re: [15/17] SLUB: Support virtual fallback via SLAB_VFALLBACK, Christoph Lameter, (Fri Sep 28, 2:20 pm)
Re: [15/17] SLUB: Support virtual fallback via SLAB_VFALLBACK, Christoph Lameter, (Mon Oct 1, 5:01 pm)
Re: [15/17] SLUB: Support virtual fallback via SLAB_VFALLBACK, Christoph Lameter, (Mon Oct 1, 4:55 pm)
Re: [15/17] SLUB: Support virtual fallback via SLAB_VFALLBACK, Christoph Lameter, (Mon Oct 1, 5:38 pm)
Re: [15/17] SLUB: Support virtual fallback via SLAB_VFALLBACK, Christoph Lameter, (Mon Oct 1, 5:52 pm)
Re: [15/17] SLUB: Support virtual fallback via SLAB_VFALLBACK, Christoph Lameter, (Fri Sep 28, 2:41 pm)