Re: SLAB vs. SLUB tbench regression (Was: [tbench regression fixes]: digging out smelly deadmen.)

Previous thread: [PATCH 2/2] sch_netem: Replace ->requeue() method with open code by Jarek Poplawski on Friday, October 31, 2008 - 9:20 am. (1 message)

Next thread: [PATCH] phylib: mdio-ofgpio ---> mdio-gpio by Paulius Zaleckas on Friday, October 31, 2008 - 11:53 am. (4 messages)
To: Evgeniy Polyakov <s0mbre@...>
Cc: <netdev@...>, <linux-kernel@...>, Peter Zijlstra <a.p.zijlstra@...>, Ingo Molnar <mingo@...>, David Miller <davem@...>, Christoph Lameter <cl@...>, Matthew Wilcox <matthew@...>
Date: Friday, October 31, 2008 - 10:28 am

Hi Evgeniy,

On Fri, Oct 10, 2008 at 1:17 AM, Evgeniy Polyakov

As you've already pointed out in private and in your blog, some part
of the tbench regression comes from SLUB vs. SLAB as well. Looks like
I can reproduce the regression locally as well:

[ 8 clients and tbench_srv on the same machine on 2-way x86-64 ]

min max avg sd
2.6.28-rc2-slab 234.57 244.88 242.68 0.71
2.6.28-rc2-slub 227.44 240.90 239.08 0.78

Oprofile seems to be busted for 2.6.28-rc2 so I'll follow up on this
as soon as that's settled.

Btw, just as one more data point, I accidentally tested with just 2
clients at first and SLUB actually beat SLAB.

Pekka
--

To: Pekka Enberg <penberg@...>
Cc: Evgeniy Polyakov <s0mbre@...>, <netdev@...>, <linux-kernel@...>, Peter Zijlstra <a.p.zijlstra@...>, Ingo Molnar <mingo@...>, David Miller <davem@...>, Christoph Lameter <cl@...>, Matthew Wilcox <matthew@...>
Date: Friday, October 31, 2008 - 2:22 pm

Hi Pekka.

Looks like under the allocation/freeing pressure some tricky part of
slub starts slowing things down, while at usual rate amount of operations
is smaller, so slub gets its optimized results... Just a handwaving
though.

Tbench regression is not related to slab/slub fight though, since I
always used slab in tests (if not specially tested slub), but of course
fixing this issue in the more and more common allocator would be just
great. Thanks for working on this issue Pekka.

--
Evgeniy Polyakov
--

To: Evgeniy Polyakov <s0mbre@...>
Cc: <netdev@...>, <linux-kernel@...>, Peter Zijlstra <a.p.zijlstra@...>, Ingo Molnar <mingo@...>, David Miller <davem@...>, Christoph Lameter <cl@...>, Matthew Wilcox <matthew@...>, Eric Dumazet <dada1@...>, Nick Piggin <nickpiggin@...>
Date: Friday, October 31, 2008 - 11:08 am

Christoph asked me to throw in the prefetch patch from Eric Dumazet.
Unfortunately, it doesn't seem to make much of a difference:

[ 2-way x86-64 with 8 clients and tbench_srv on the same machine ]

min max avg sd
2.6.28-rc2-slab 234.57 244.88 242.68 0.71
2.6.28-rc2-slub 227.44 240.90 239.08 0.78
2.6.28-rc2-slub+prefetch 237.42 244.32 239.78 0.92
--

Previous thread: [PATCH 2/2] sch_netem: Replace ->requeue() method with open code by Jarek Poplawski on Friday, October 31, 2008 - 9:20 am. (1 message)

Next thread: [PATCH] phylib: mdio-ofgpio ---> mdio-gpio by Paulius Zaleckas on Friday, October 31, 2008 - 11:53 am. (4 messages)