RFC: Unneeded memory barriers

From: Ralf Baechle
Date: Fri Dec 01 2006 - 09:12:03 EST


When disassembling a kernel I found around over 90 sync Instructions from
mb, rmb and wmb calls in the kernel and only few of those make any sense
to me. So here's the first one - I think the wmb() in kernel/futex.c is
not needed on uniprocessors so should become an smb_wmb().

Ralf

Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>

diff --git a/kernel/futex.c b/kernel/futex.c
index 93ef30b..d867899 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -553,7 +553,7 @@ static void wake_futex(struct futex_q *q
* at the end of wake_up_all() does not prevent this store from
* moving.
*/
- wmb();
+ smp_wmb();
q->lock_ptr = NULL;
}

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