xen: Use wmb instead of rmb in xen_evtchn_do_upcall().

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]>
This commit is contained in:
Isaku Yamahata 2008-06-16 14:58:13 -07:00 • committed by Ingo Molnar
commit 6673cf63e5

View file

@ -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. */
rmb();
wmb();
#endif
pending_words = xchg(&vcpu_info->evtchn_pending_sel, 0);
while (pending_words != 0) {