Re: Major regression on hackbench with SLUB (more numbers)

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Ingo Molnar <mingo@...>
Cc: Steven Rostedt <rostedt@...>, LKML <linux-kernel@...>, Andrew Morton <akpm@...>, Linus Torvalds <torvalds@...>, Peter Zijlstra <a.p.zijlstra@...>, Christoph Hellwig <hch@...>
Date: Friday, December 14, 2007 - 12:24 am

Hmmmm... Some tests here on an 8p 8G machine:

SLAB

N=10 Time: 0.341
N=20 Time: 0.605
N=50 Time: 1.487

SLUB 

N=10 Time: 0.675
N=20 Time: 1.434
N=50 Time: 3.996

So its factor 2 for untuned SLUB. Looking at hackbench: This is a 
test that allocates objects that are then consumed by N cpus that then 
return them. The allocating processor can allocate from the per cpu slab 
(the freelist is copied to a per cpu structure when its activated)
avoiding touching the page struct. However, the freeing processors 
must update the freelist of the slab page directly. So they all content 
for the cacheline of the page struct.

Since we do directly free there is the chance of lots of contention 
between the N cpus that free the objects. This is in particular high in a 
synthetic benchmark like this.

However, if the object to be freed is still in a cpu slab then the freeing 
action will reduce the taking of the listlock. So we can actually 
decrease the overhead by increasing the slab page size.

In an extreme case (boot with slub_min_order=9 to get huge page sized 
slabs) SLUB can win against SLAB:

N=10 Time: 0.338	Minimally faster
N=20 Time: 0.560	10% faster
N=50 Time: 1.353	15% faster

Not sure how to get that mainstream yet but there certainly is a way to 
get there. Need to get an idea how to reduce listlock contention in the 
remote free case.
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Major regression on hackbench with SLUB, Steven Rostedt, (Fri Dec 7, 1:50 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Thu Dec 13, 6:22 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 14, 12:24 am)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 6:22 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 6:37 pm)
Re: Major regression on hackbench with SLUB (more numbers), Steven Rostedt, (Fri Dec 21, 6:52 pm)
Re: Major regression on hackbench with SLUB (more numbers), Linus Torvalds, (Fri Dec 21, 6:51 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 7:54 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 12:18 pm)
Re: Major regression on hackbench with SLUB (more numbers), Linus Torvalds, (Fri Dec 21, 12:44 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 6:11 pm)
Re: Major regression on hackbench with SLUB (more numbers), Linus Torvalds, (Fri Dec 21, 6:49 pm)
Re: Major regression on hackbench with SLUB (more numbers), Peter Zijlstra, (Fri Dec 21, 6:16 pm)
Re: Major regression on hackbench with SLUB (more numbers), Peter Zijlstra, (Fri Dec 21, 6:17 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 6:27 pm)
Re: Major regression on hackbench with SLUB (more numbers), Linus Torvalds, (Sat Dec 22, 2:01 pm)
Re: Major regression on hackbench with SLUB (more numbers), Linus Torvalds, (Sat Dec 22, 5:00 pm)
Re: Major regression on hackbench with SLUB (more numbers), Steven Rostedt, (Sat Dec 22, 8:59 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Mon Dec 24, 3:21 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Wed Dec 26, 5:31 pm)
Re: Major regression on hackbench with SLUB (more numbers), Steven Rostedt, (Fri Dec 28, 10:52 am)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Thu Dec 27, 1:51 am)
SLUB sysfs support, Christoph Lameter, (Thu Dec 27, 4:28 pm)
Re: SLUB sysfs support, Al Viro, (Thu Dec 27, 6:59 pm)
Re: SLUB sysfs support, Christoph Lameter, (Thu Dec 27, 7:22 pm)
Re: SLUB sysfs support, Al Viro, (Thu Dec 27, 7:54 pm)
Re: SLUB sysfs support, Christoph Lameter, (Thu Dec 27, 7:53 pm)
Re: SLUB sysfs support, Al Viro, (Thu Dec 27, 7:58 pm)
Re: SLUB sysfs support, Christoph Lameter, (Thu Dec 27, 8:02 pm)
Re: SLUB sysfs support, Al Viro, (Thu Dec 27, 8:45 pm)
Re: SLUB sysfs support, Christoph Lameter, (Thu Dec 27, 10:19 pm)
Re: SLUB sysfs support, Al Viro, (Thu Dec 27, 11:26 pm)
Re: SLUB sysfs support, Christoph Lameter, (Wed Jan 2, 4:25 pm)
[patch] slub: provide /proc/slabinfo, Ingo Molnar, (Tue Jan 1, 12:23 pm)
Re: [patch] slub: provide /proc/slabinfo, Arjan van de Ven, (Fri Jan 4, 8:27 pm)
Re: [patch] slub: provide /proc/slabinfo, Linus Torvalds, (Fri Jan 4, 8:49 pm)
Re: Major regression on hackbench with SLUB (more numbers), Jason L Tibbitts III, (Sat Dec 22, 6:52 pm)
Re: Major regression on hackbench with SLUB (more numbers), Alessandro Suardi, (Sun Dec 23, 11:59 pm)
Re: Major regression on hackbench with SLUB (more numbers), Alexey Dobriyan, (Sat Dec 22, 9:01 am)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 7:51 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Mon Dec 24, 3:24 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 12:26 pm)
Re: Major regression on hackbench with SLUB (more numbers), Christoph Lameter, (Fri Dec 21, 5:56 pm)
Re: Major regression on hackbench with SLUB (more numbers), Steven Rostedt, (Fri Dec 14, 2:15 am)
Re: Major regression on hackbench with SLUB, Linus Torvalds, (Fri Dec 7, 1:59 pm)
Re: Major regression on hackbench with SLUB, Linus Torvalds, (Fri Dec 7, 2:36 pm)
Re: Major regression on hackbench with SLUB, Christoph Lameter, (Thu Dec 13, 6:11 pm)
Re: Major regression on hackbench with SLUB, Steven Rostedt, (Sat Dec 8, 8:28 pm)
Re: Major regression on hackbench with SLUB, Steven Rostedt, (Sat Dec 8, 6:16 pm)
Re: Major regression on hackbench with SLUB, Björn, (Mon Dec 10, 3:38 am)
Re: Major regression on hackbench with SLUB, Steven Rostedt, (Mon Dec 10, 10:00 am)
Re: Major regression on hackbench with SLUB, Steven Rostedt, (Fri Dec 7, 2:58 pm)
Re: Major regression on hackbench with SLUB, Ingo Molnar, (Fri Dec 7, 1:55 pm)