[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 05/05/15 14:56, Ian Campbell wrote:
> 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.

It's mentioned in the cover letter, but I'll add it to the commit
description as well.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.