]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - lib/rwsem-spinlock.c
[PATCH] use smp_mb/wmb/rmb where possible
[net-next-2.6.git] / lib / rwsem-spinlock.c
index 21f0db2c97113451de1eac3751cf8f63e5a3541e..40ffde940a86522dedca220e359367f436bb9023 100644 (file)
@@ -76,7 +76,7 @@ __rwsem_do_wake(struct rw_semaphore *sem, int wakewrite)
                list_del(&waiter->list);
                tsk = waiter->task;
                /* Don't touch waiter after ->task has been NULLed */
-               mb();
+               smp_mb();
                waiter->task = NULL;
                wake_up_process(tsk);
                put_task_struct(tsk);
@@ -91,7 +91,7 @@ __rwsem_do_wake(struct rw_semaphore *sem, int wakewrite)
 
                list_del(&waiter->list);
                tsk = waiter->task;
-               mb();
+               smp_mb();
                waiter->task = NULL;
                wake_up_process(tsk);
                put_task_struct(tsk);
@@ -123,7 +123,7 @@ __rwsem_wake_one_writer(struct rw_semaphore *sem)
        list_del(&waiter->list);
 
        tsk = waiter->task;
-       mb();
+       smp_mb();
        waiter->task = NULL;
        wake_up_process(tsk);
        put_task_struct(tsk);