[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 3 Mar 2008 13:28:57 +0100
From: Nick Piggin <npiggin@...e.de>
To: Pekka Enberg <penberg@...helsinki.fi>
Cc: netdev@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
yanmin_zhang@...ux.intel.com, David Miller <davem@...emloft.net>,
Christoph Lameter <clameter@...r.sgi.com>,
Eric Dumazet <dada1@...mosbay.com>
Subject: Re: [rfc][patch 1/3] slub: fix small HWCACHE_ALIGN alignment
On Mon, Mar 03, 2008 at 11:44:07AM +0200, Pekka Enberg wrote:
> Hi Nick,
>
> On Mon, Mar 3, 2008 at 11:34 AM, Nick Piggin <npiggin@...e.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?
You're right, the changelog should be improved if/when it is merged.
Actually the context is discussed in another thread just now on lkml
if you are interested ("alloc_percpu() fails to allocate percpu data").
>
> On Mon, Mar 3, 2008 at 11:34 AM, Nick Piggin <npiggin@...e.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.
Yes.
>
> > - 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);
> > + }
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists