ia64/xen-unstable

changeset 18684:d2f7243fc571

ia64: Some fixes after spinlock implementation changes.
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);						\