[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] linux/x86: Use cpu_relax() rather than barrier() in smp_call_function()
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1196956971 0 # Node ID 3938ff4b3fc2e84518719bea706a412983155a2a # Parent d43906ea0e9c136e9ec28df30f94c225536d588c linux/x86: Use cpu_relax() rather than barrier() in smp_call_function() Short of getting an explanation for the odd difference to native, make the code match native (and also, in the case of x86-64, __smp_call_function_single()). Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> --- arch/i386/kernel/smp-xen.c | 4 ++-- arch/x86_64/kernel/smp-xen.c | 8 -------- 2 files changed, 2 insertions(+), 10 deletions(-) diff -r d43906ea0e9c -r 3938ff4b3fc2 arch/i386/kernel/smp-xen.c --- a/arch/i386/kernel/smp-xen.c Thu Dec 06 15:59:52 2007 +0000 +++ b/arch/i386/kernel/smp-xen.c Thu Dec 06 16:02:51 2007 +0000 @@ -525,11 +525,11 @@ int smp_call_function (void (*func) (voi /* Wait for response */ while (atomic_read(&data.started) != cpus) - barrier(); + cpu_relax(); if (wait) while (atomic_read(&data.finished) != cpus) - barrier(); + cpu_relax(); spin_unlock(&call_lock); return 0; diff -r d43906ea0e9c -r 3938ff4b3fc2 arch/x86_64/kernel/smp-xen.c --- a/arch/x86_64/kernel/smp-xen.c Thu Dec 06 15:59:52 2007 +0000 +++ b/arch/x86_64/kernel/smp-xen.c Thu Dec 06 16:02:51 2007 +0000 @@ -421,21 +421,13 @@ static void __smp_call_function (void (* /* Wait for response */ while (atomic_read(&data.started) != cpus) -#ifndef CONFIG_XEN cpu_relax(); -#else - barrier(); -#endif if (!wait) return; while (atomic_read(&data.finished) != cpus) -#ifndef CONFIG_XEN cpu_relax(); -#else - barrier(); -#endif } /* _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |