# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1224608421 -3600
# Node ID d2f7243fc571ea78cbf3fe33e723aa8f30111daa
# Parent f7c09997cf1133af257d3400ad31d26fc0aeab58
ia64: Some fixes after spinlock implementation changes.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
xen/arch/ia64/vmx/vmmu.c | 2 +-
xen/include/asm-ia64/linux-xen/asm/spinlock.h | 4 ----
2 files changed, 1 insertion(+), 5 deletions(-)
diff -r f7c09997cf11 -r d2f7243fc571 xen/arch/ia64/vmx/vmmu.c
--- a/xen/arch/ia64/vmx/vmmu.c Tue Oct 21 14:15:11 2008 +0100
+++ b/xen/arch/ia64/vmx/vmmu.c Tue Oct 21 18:00:21 2008 +0100
@@ -446,7 +446,7 @@ IA64FAULT vmx_vcpu_ptc_ga(VCPU *vcpu, u6
do {
cpu = v->processor;
if (cpu != current->processor) {
- spin_unlock_wait(&per_cpu(schedule_data, cpu).schedule_lock);
+ spin_barrier(&per_cpu(schedule_data, cpu).schedule_lock);
/* Flush VHPT on remote processors. */
smp_call_function_single(cpu, &ptc_ga_remote_func,
&args, 0, 1);
diff -r f7c09997cf11 -r d2f7243fc571
xen/include/asm-ia64/linux-xen/asm/spinlock.h
--- a/xen/include/asm-ia64/linux-xen/asm/spinlock.h Tue Oct 21 14:15:11
2008 +0100
+++ b/xen/include/asm-ia64/linux-xen/asm/spinlock.h Tue Oct 21 18:00:21
2008 +0100
@@ -130,7 +130,6 @@ do {
\
#define _raw_spin_is_locked(x) ((x)->lock != 0)
#define _raw_spin_unlock(x) do { barrier(); (x)->lock = 0; } while (0)
#define _raw_spin_trylock(x) (cmpxchg_acq(&(x)->lock, 0, 1) == 0)
-#define spin_unlock_wait(x) do { barrier(); } while ((x)->lock)
typedef struct {
volatile unsigned int read_counter : 31;
@@ -140,9 +139,6 @@ typedef struct {
#endif
} raw_rwlock_t;
#define _RAW_RW_LOCK_UNLOCKED /*(raw_rwlock_t)*/ { 0, 0 }
-
-#define read_can_lock(rw) (*(volatile int *)(rw) >= 0)
-#define write_can_lock(rw) (*(volatile int *)(rw) == 0)
#define _raw_read_lock(rw)
\
do {
\
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|