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
vserver 2.0 rc7
[linux-2.6.git]
/
lib
/
rwsem.c
diff --git
a/lib/rwsem.c
b/lib/rwsem.c
index
7644089
..
62fa4eb
100644
(file)
--- a/
lib/rwsem.c
+++ b/
lib/rwsem.c
@@
-74,7
+74,7
@@
__rwsem_do_wake(struct rw_semaphore *sem, int downgrading)
*/
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);
@@
-117,7
+117,7
@@
__rwsem_do_wake(struct rw_semaphore *sem, int downgrading)
waiter = list_entry(next, struct rwsem_waiter, list);
next = waiter->list.next;
tsk = waiter->task;
waiter = list_entry(next, struct rwsem_waiter, list);
next = waiter->list.next;
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);