slub: reduce overhead of slub_debug
authorMarcin Slusarz <marcin.slusarz@gmail.com>
Sun, 26 Jun 2011 19:39:18 +0000 (21:39 +0200)
committerPekka Enberg <penberg@kernel.org>
Thu, 7 Jul 2011 19:44:45 +0000 (22:44 +0300)
commitc4089f98e943ff445665dea49c190657b34ccffe
tree8238e65e7eaf575afc52c44179f428c3069584cd
parentd18a90dd85f8243ed20cdadb6d8a37d595df456d
slub: reduce overhead of slub_debug

slub checks for poison one byte by one, which is highly inefficient
and shows up frequently as a highest cpu-eater in perf top.

Joining reads gives nice speedup:

(Compiling some project with different options)
                                 make -j12    make clean
slub_debug disabled:             1m 27s       1.2 s
slub_debug enabled:              1m 46s       7.6 s
slub_debug enabled + this patch: 1m 33s       3.2 s

check_bytes still shows up high, but not always at the top.

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Matt Mackall <mpm@selenic.com>
Cc: linux-mm@kvack.org
Signed-off-by: Pekka Enberg <penberg@kernel.org>
mm/slub.c