Re: [rfc][patch 1/3] slub: fix small HWCACHE_ALIGN alignment

Nick Piggin
2008-03-03T20:17:24Z

On Mon, Mar 03, 2008 at 12:10:59PM -0800, Christoph Lameter wrote:
> On Mon, 3 Mar 2008, Nick Piggin wrote:
>
> > > If they are already not cache line aligned then we can make them as
> > > dense as possible. That is what SLUB does.
> >
> > Because when you specify HWCACHE_ALIGN, it means that you want the object
> > not to cross cacheline boundaries for at least cache_line_size() bytes.
> > SLAB does this. SLUB does not without this patch.
>
> HWCACHE_ALIGN means that you want the object to be aligned at
> cacheline boundaries for optimization. Why does crossing cacheline
> boundaries matter in this case?

No, HWCACHE_ALIGN means that you want the object not to cross cacheline
boundaries for at least cache_line_size() bytes. You invented new
semantics with SLUB, but all the callers were written expecting the
existing semantics, presumably. So we should retain that behaviour, and
if you disagree with the actual callers, then that is fine but you
should discuss each case with the relevant people.