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

Pekka Enberg
2008-03-03T09:44:21Z

Hi Nick,

On Mon, Mar 3, 2008 at 11:34 AM, Nick Piggin <npiggin@suse.de> wrote:
> SLUB should pack even small objects nicely into cachelines if that is what
> has been asked for. Use the same algorithm as SLAB for this.

The patches look good but this changelog is missing context. Why do we
want to do this?

On Mon, Mar 3, 2008 at 11:34 AM, Nick Piggin <npiggin@suse.de> wrote:
> @@ -1896,12 +1896,15 @@ static unsigned long calculate_alignment
> * specified alignment though. If that is greater
> * then use it.
> */

You might want to fix the above comment too.

> - if ((flags & SLAB_HWCACHE_ALIGN) &&
> - size > cache_line_size() / 2)
> - return max_t(unsigned long, align, cache_line_size());
> + if (flags & SLAB_HWCACHE_ALIGN) {
> + unsigned long ralign = cache_line_size();
> + while (size <= ralign / 2)
> + ralign /= 2;
> + align = max(align, ralign);
> + }