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?

-Andi
-
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/