Messages in this thread Patch in this message | | | Date | Mon, 20 Feb 2006 15:32:42 -0800 | From | Ravikiran G Thirumalai <> | Subject | [patch] Cache align futex hash buckets |
| |
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.
Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org> Signed-off-by: Shai Fultheim <shai@scalex86.org>
Index: linux-2.6.16-rc2/kernel/futex.c =================================================================== --- linux-2.6.16-rc2.orig/kernel/futex.c 2006-02-07 23:14:04.000000000 -0800 +++ linux-2.6.16-rc2/kernel/futex.c 2006-02-09 14:04:22.000000000 -0800 @@ -100,9 +100,10 @@ struct futex_q { struct futex_hash_bucket { spinlock_t lock; struct list_head chain; -}; +} ____cacheline_internodealigned_in_smp; -static struct futex_hash_bucket futex_queues[1<<FUTEX_HASHBITS]; +static struct futex_hash_bucket futex_queues[1<<FUTEX_HASHBITS] + __cacheline_aligned_in_smp; /* Futex-fs vfsmount entry: */ static struct vfsmount *futex_mnt; - 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/
| |