How reliable is SLAB_HWCACHE_ALIGN?

From: Ravikiran G Thirumalai
Date: Wed Sep 10 2003 - 03:11:41 EST


I was assuming that if you create a slab cache with SLAB_HWCACHE_ALIGN,
objects are guaranteed to be aligned to L1 cacheline. But this piece
of code in kmem_cache_create has raised doubts.

----------------------------------------------------------------------------
if (flags & SLAB_HWCACHE_ALIGN) {
/* Need to adjust size so that objs are cache aligned. */
/* Small obj size, can get at least two per cache line. */
while (size < align/2)
align /= 2;
size = (size+align-1)&(~(align-1));
}
----------------------------------------------------------------------------

Am I missing something or can there really be two objects on the same
cacheline even when SLAB_HWCACHE_ALIGN is specified?

Thanks,
Kiran
-
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/