Re: [RFC] NUMA futex hashing
From: Andi Kleen
Date: Tue Aug 08 2006 - 05:55:47 EST
Ravikiran G Thirumalai <kiran@xxxxxxxxxxxx> writes:
> Current futex hash scheme is not the best for NUMA. The futex hash table is
> an array of struct futex_hash_bucket, which is just a spinlock and a
> list_head -- this means multiple spinlocks on the same cacheline and on NUMA
> machines, on the same internode cacheline. If futexes of two unrelated
> threads running on two different nodes happen to hash onto adjacent hash
> buckets, or buckets on the same internode cacheline, then we have the
> internode cacheline bouncing between nodes.
When I did some testing with a (arguably far too lock intensive) benchmark
on a bigger box I got most bouncing cycles not in the futex locks itself,
but in the down_read on the mm semaphore.
I guess that is not addressed?
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/