projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
54481cf
)
xen: Use wmb instead of rmb in xen_evtchn_do_upcall().
author
Isaku Yamahata
<
[email protected]
>
Mon, 16 Jun 2008 21:58:13 +0000
(14:58 -0700)
committer
Ingo Molnar
<
[email protected]
>
Fri, 20 Jun 2008 12:56:30 +0000
(14:56 +0200)
This patch is ported one from 534:
77db69c38249
of linux-2.6.18-xen.hg.
Use wmb instead of rmb to enforce ordering between
evtchn_upcall_pending and evtchn_pending_sel stores
in xen_evtchn_do_upcall().
Cc: Samuel Thibault <
[email protected]
>
Signed-off-by: Isaku Yamahata <
[email protected]
>
Cc: Nick Piggin <
[email protected]
>
Cc: the arch/x86 maintainers <
[email protected]
>
Signed-off-by: Ingo Molnar <
[email protected]
>
drivers/xen/events.c
patch
|
blob
|
history
diff --git
a/drivers/xen/events.c
b/drivers/xen/events.c
index 4f0f22b020ea4aa192dbab56cba76edd6076a837..76e5b7386af953d7a8ee7c1ff7b17ec28a0fe407 100644
(file)
--- a/
drivers/xen/events.c
+++ b/
drivers/xen/events.c
@@
-529,7
+529,7
@@
void xen_evtchn_do_upcall(struct pt_regs *regs)
#ifndef CONFIG_X86 /* No need for a barrier -- XCHG is a barrier on x86. */
/* Clear master flag /before/ clearing selector flag. */
-
r
mb();
+
w
mb();
#endif
pending_words = xchg(&vcpu_info->evtchn_pending_sel, 0);
while (pending_words != 0) {