ia64/xen-unstable
changeset 18684:d2f7243fc571
ia64: Some fixes after spinlock implementation changes.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
author | Keir Fraser <keir.fraser@citrix.com> |
---|---|
date | Tue Oct 21 18:00:21 2008 +0100 (2008-10-21) |
parents | f7c09997cf11 |
children | 46d7e12c4c91 |
files | xen/arch/ia64/vmx/vmmu.c xen/include/asm-ia64/linux-xen/asm/spinlock.h |
line diff
1.1 --- a/xen/arch/ia64/vmx/vmmu.c Tue Oct 21 14:15:11 2008 +0100 1.2 +++ b/xen/arch/ia64/vmx/vmmu.c Tue Oct 21 18:00:21 2008 +0100 1.3 @@ -446,7 +446,7 @@ IA64FAULT vmx_vcpu_ptc_ga(VCPU *vcpu, u6 1.4 do { 1.5 cpu = v->processor; 1.6 if (cpu != current->processor) { 1.7 - spin_unlock_wait(&per_cpu(schedule_data, cpu).schedule_lock); 1.8 + spin_barrier(&per_cpu(schedule_data, cpu).schedule_lock); 1.9 /* Flush VHPT on remote processors. */ 1.10 smp_call_function_single(cpu, &ptc_ga_remote_func, 1.11 &args, 0, 1);
2.1 --- a/xen/include/asm-ia64/linux-xen/asm/spinlock.h Tue Oct 21 14:15:11 2008 +0100 2.2 +++ b/xen/include/asm-ia64/linux-xen/asm/spinlock.h Tue Oct 21 18:00:21 2008 +0100 2.3 @@ -130,7 +130,6 @@ do { \ 2.4 #define _raw_spin_is_locked(x) ((x)->lock != 0) 2.5 #define _raw_spin_unlock(x) do { barrier(); (x)->lock = 0; } while (0) 2.6 #define _raw_spin_trylock(x) (cmpxchg_acq(&(x)->lock, 0, 1) == 0) 2.7 -#define spin_unlock_wait(x) do { barrier(); } while ((x)->lock) 2.8 2.9 typedef struct { 2.10 volatile unsigned int read_counter : 31; 2.11 @@ -141,9 +140,6 @@ typedef struct { 2.12 } raw_rwlock_t; 2.13 #define _RAW_RW_LOCK_UNLOCKED /*(raw_rwlock_t)*/ { 0, 0 } 2.14 2.15 -#define read_can_lock(rw) (*(volatile int *)(rw) >= 0) 2.16 -#define write_can_lock(rw) (*(volatile int *)(rw) == 0) 2.17 - 2.18 #define _raw_read_lock(rw) \ 2.19 do { \ 2.20 raw_rwlock_t *__read_lock_ptr = (rw); \