|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCHv4 5/8] xen: use ticket locks for spin locks
On Thu, 2015-04-30 at 16:33 +0100, David Vrabel wrote:
>
> void _spin_lock_irq(spinlock_t *lock)
> {
> - LOCK_PROFILE_VAR;
> -
> ASSERT(local_irq_is_enabled());
> local_irq_disable();
> - check_lock(&lock->debug);
> - while ( unlikely(!_raw_spin_trylock(&lock->raw)) )
> - {
> - LOCK_PROFILE_BLOCK;
> - local_irq_enable();
> - while ( likely(_raw_spin_is_locked(&lock->raw)) )
> - cpu_relax();
> - local_irq_disable();
> - }
> - LOCK_PROFILE_GOT;
> - preempt_disable();
> + _spin_lock(lock);
This (and the irqsave variant) differs in that it spins/waits with irq's
disabled unlike the previous implementation which enabled irqs while it
waited.
Is this change intentional? I think it warrants a mention and rationale
in the commit log if so.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |