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



Hi Pekka.

On Fri, Oct 31, 2008 at 04:28:57PM +0200, Pekka Enberg (penberg@xxxxxxxxxxxxxx) wrote:
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.

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 unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: [patch] SLQB slab allocator
    ... obviously as different from SLUB as SLUB is from SLAB (apart from peripheral ... Now, if that means we have to replace SLUB with SLQB, I am fine ... so sure adding a completely separate allocator is the way to get ...
    (Linux-Kernel)
  • SLAB vs. SLUB tbench regression (Was: [tbench regression fixes]: digging out smelly deadmen.)
    ... in my machines is rougly corresponds to 375 down to 355 MB/s. ... of the tbench regression comes from SLUB vs. SLAB as well. ...
    (Linux-Kernel)
  • Re: tipc_init(), WARNING: at arch/x86/mm/highmem_32.c:52, [2.6.24-rc4-git5: Reported regress
    ... It looks like SLUB will do a memclearfor the area twice for the slow case. ... SLUB was done because of a series of problem with the basic concepts of SLAB that treaten it usability in the future. ... SLAB requires a pass through all slab caches every 2 seconds to ... I remember network interrupts were taken by CPU 1, so most allocations were ...
    (Linux-Kernel)
  • Re: [patch] SLQB slab allocator
    ... framework from SLUB, and added specific event counters things for SLQB. ... another complex subsystem (which itself depends back on the slab allocator). ...
    (Linux-Kernel)
  • Re: [patch] SLQB slab allocator
    ... obviously as different from SLUB as SLUB is from SLAB (apart from peripheral ... so sure adding a completely separate allocator is the way to get ... Down to the level of prefetching it is ...
    (Linux-Kernel)