git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
lib
/
rwsem-spinlock.c
diff --git
a/lib/rwsem-spinlock.c
b/lib/rwsem-spinlock.c
index
21f0db2
..
40ffde9
100644
(file)
--- a/
lib/rwsem-spinlock.c
+++ b/
lib/rwsem-spinlock.c
@@
-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 */
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);
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;
list_del(&waiter->list);
tsk = waiter->task;
- mb();
+
smp_
mb();
waiter->task = NULL;
wake_up_process(tsk);
put_task_struct(tsk);
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;
list_del(&waiter->list);
tsk = waiter->task;
- mb();
+
smp_
mb();
waiter->task = NULL;
wake_up_process(tsk);
put_task_struct(tsk);
waiter->task = NULL;
wake_up_process(tsk);
put_task_struct(tsk);