1 message in com.xensource.lists.xen-ia64-devel[Xen-ia64-devel] [Patch] [RFC] barrie...
FromSent OnAttachments
Akio Takebe12 Dec 2007 06:22.patch
Subject:[Xen-ia64-devel] [Patch] [RFC] barrier in xen_rsm_i
From:Akio Takebe (take@jp.fujitsu.com)
Date:12/12/2007 06:22:41 AM
List:com.xensource.lists.xen-ia64-devel
Attachments:

Hi,

xen_ssm_i() has barrier() after xen_set_virtual_psr_i(). I think xen_rsm_i() also need barrier(). Is this correct?

Signed-off-by: Akio Takebe <take@jp.fujitsu.com>

Best Regards,

Akio Takebe

diff -r b865b15fb54b include/asm-ia64/xen/privop.h --- a/include/asm-ia64/xen/privop.h Mon Dec 10 15:04:49 2007 +0000 +++ b/include/asm-ia64/xen/privop.h Wed Dec 12 23:18:00 2007 +0900 @@ -229,7 +229,10 @@ extern void xen_set_eflag(unsigned long)

/* turning off interrupts can be paravirtualized simply by writing * to a memory-mapped virtual psr.i bit (implemented as a 16-bit bool) */ -#define xen_rsm_i() xen_set_virtual_psr_i(0) +#define xen_rsm_i() \ +{ xen_set_virtual_psr_i(0); \ + barrier(); \ +}

/* turning on interrupts is a bit more complicated.. write to the * memory-mapped virtual psr.i bit first (to avoid race condition),