Re: [PATCH] slub: reduce overhead of slub_debug

From: Andi Kleen
Date: Fri Jul 08 2011 - 01:25:25 EST


Christoph Lameter <cl@xxxxxxxxx> writes:


> +#ifdef __HAVE_ARCH_INV_MEMSCAN
> +void *inv_memscan(void *addr, int c, size_t size)
> +{
> + if (!size)
> + return addr;
> + asm volatile("repz; scasb\n\t"

This will just do the slow byte accesses again internally.
scasb is not normally very optimized in microcode as far
as I know.

Also rep has quite some startup overhead which makes
it a bad idea for small sizes (<16-20 or so)

I would stay with the C version. I bet that one is
faster.

-Andi

--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only
--
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/