[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC PATCHv1] Prototype ticket locks

>>> On 03.02.15 at 16:01, <david.vrabel@xxxxxxxxxx> wrote:
> On 03/02/15 13:55, Jan Beulich wrote:
>>>>> On 03.02.15 at 12:50, <david.vrabel@xxxxxxxxxx> wrote:
>>> Note that spin_lock_irq() and spin_lock_irqsave() now spin with irqs
>>> disabled (previously, they would spin with irqs enabled if possible).
>>> This is required to prevent deadlocks when the irq handler tries to
>>> take the same lock with a higher ticket.
>> That's another pretty undesirable property (albeit it's not a strict
>> implication of using ticket locks - one can make them work with
>> interrupts getting properly re-enabled while spinning).
> I've seen too many Linux deadlocks caused be re-enabling irqs while
> spinning to consider this a good idea.

And I've heard too many complaints on interrupt latency not care.

> The ticket stealing stuff that
> Suse kernels do doesn't play nice with rw locks or certain hand rolled
> synchronization code (in short, if the interrupt spins on something
> other than a ticket lock it breaks).

The original version indeed had such a problem, but I don't think the
current version has anymore.


Xen-devel mailing list



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