From: Ravikiran G Thirumalai <kiran@scalex86.org>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Andrew Morton <akpm@osdl.org>,
clameter@engr.sgi.com, linux-kernel@vger.kernel.org,
shai@scalex86.org
Subject: Re: [patch] Cache align futex hash buckets
Date: Wed, 22 Feb 2006 12:17:13 -0800 [thread overview]
Message-ID: <20060222201713.GA3663@localhost.localdomain> (raw)
In-Reply-To: <43FBCE56.9020001@yahoo.com.au>
On Wed, Feb 22, 2006 at 01:37:10PM +1100, Nick Piggin wrote:
> Andrew Morton wrote:
> >Nick Piggin <nickpiggin@yahoo.com.au> wrote:
>
> >>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...
> >
>
> We chould probably also convert the list_head over to an hlist_head,
> for a modest saving in size (although that's more important from a
> cache footprint POV rather than improving cacheline bouncing).
>
> Although speaking of cacheline footprint: making the hash table so
> large will increase the "real" CPU cacheline footprint on your VSMP
> systems, so perhaps it is not always such an easy decision.
We re-ran the threaded benchmark with FUTEX_HASHBITS set to 15 (32k hash
slots) and got the same performance as the padding approach. So increasing
the hash helps. We also tried 256, 512, and 1024 hash slots, but we
did not get good results with those.
We also collected hash collision statistics for 1024 slots. We found that
50% of the slots did not take any hit!! So maybe we should revisit the
hashing function before settling on the optimal number of hash slots.
Thanks,
Kiran
next prev parent reply other threads:[~2006-02-22 20:16 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-20 23:32 [patch] Cache align futex hash buckets Ravikiran G Thirumalai
2006-02-20 23:33 ` Andrew Morton
2006-02-20 23:34 ` Andrew Morton
2006-02-21 0:09 ` Ravikiran G Thirumalai
2006-02-21 0:23 ` Andrew Morton
2006-02-21 1:04 ` Ravikiran G Thirumalai
2006-02-21 1:09 ` Andrew Morton
2006-02-21 1:39 ` Ravikiran G Thirumalai
2006-02-21 14:44 ` Andi Kleen
2006-02-21 3:30 ` Nick Piggin
2006-02-21 18:33 ` Christoph Lameter
2006-02-21 23:14 ` Christoph Lameter
2006-02-22 0:40 ` Nick Piggin
2006-02-22 2:08 ` Andrew Morton
2006-02-22 2:35 ` Ravikiran G Thirumalai
2006-02-22 2:37 ` Nick Piggin
2006-02-22 20:17 ` Ravikiran G Thirumalai [this message]
2006-02-22 20:50 ` Andrew Morton
[not found] ` <20060223015144.GC3663@localhost.localdomain>
2006-02-23 2:08 ` Ravikiran G Thirumalai
2006-02-21 20:20 ` Ravikiran G Thirumalai
2006-02-22 0:45 ` Nick Piggin
2006-02-22 2:09 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060222201713.GA3663@localhost.localdomain \
--to=kiran@scalex86.org \
--cc=akpm@osdl.org \
--cc=clameter@engr.sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
--cc=shai@scalex86.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox