... as generally being a cheaper operation.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Tim Deegan <tim@xen.org>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
local_irq_restore(flags);
while ( likely(_raw_spin_is_locked(&lock->raw)) )
cpu_relax();
- local_irq_save(flags);
+ local_irq_disable();
}
LOCK_PROFILE_GOT;
preempt_disable();
local_irq_restore(flags);
while ( (x = lock->lock) & RW_WRITE_FLAG )
cpu_relax();
- local_irq_save(flags);
+ local_irq_disable();
}
} while ( cmpxchg(&lock->lock, x, x+1) != x );
preempt_disable();
local_irq_restore(flags);
while ( (x = lock->lock) & RW_WRITE_FLAG )
cpu_relax();
- local_irq_save(flags);
+ local_irq_disable();
}
} while ( cmpxchg(&lock->lock, x, x|RW_WRITE_FLAG) != x );
while ( x != 0 )