Re: [patch] Cache align futex hash buckets

From: Ravikiran G Thirumalai
Date: Tue Feb 21 2006 - 21:33:19 EST


On Tue, Feb 21, 2006 at 06:08:45PM -0800, Andrew Morton wrote:
> Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:
> >
> > Christoph Lameter wrote:
> > > On Tue, 21 Feb 2006, Nick Piggin wrote:
> > >
> > >
> > >>Ravikiran G Thirumalai wrote:
> > >>
> > >>>Following change places each element of the futex_queues hashtable on a
> > >>>different cacheline. Spinlocks of adjacent hash buckets lie on the same
> > >>>cacheline otherwise.
> > >>>
> > >>
> > >>It does not make sense to add swaths of unused memory into a hashtable for
> > >>this purpose, does it?
> > >
> > >
> > > It does if you essentially have a 4k cacheline (because you are doing NUMA
> > > in software with multiple PCs....) and transferring control of that
> > > cacheline is comparatively expensive.
> > >
> >
> > Instead of 1MB hash with 256 entries in it covering 256 cachelines, you
> > have a 1MB hash with 65536(ish) entries covering 256 cachelines.
> >
>
> Good (if accidental point). Kiran, if you're going to gobble a megabyte,
> you might as well use all of it and make the hashtable larger, rather than
> just leaving 99% of that memory unused...

Yes, good (intentional :) ) point. I am rerunning my tests with a larger hash slot.
(As large as the padding takes away). If we get the same or better results, we
can just increase the hash slots.

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/