![]() | |||||||||||||
Messages in this thread |
Ravikiran G Thirumalai <kiran@scalex86.org> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-08-08 12:03 [from the cache] ©2003-2008 | |||||||||||||