On Wed, 08 Aug 2007 06:24:44 +0200, Nick Piggin said: > After this, we can no longer spin on any locks with preempt enabled, > and cannot reenable interrupts when spinning on an irq safe lock, because > at that point we have already taken a ticket and the would deadlock if > the same CPU tries to take the lock again. These are hackish anyway: if > the lock happens to be called under a preempt or interrupt disabled section, > then it will just have the same latency problems. The real fix is to keep > critical sections short, and ensure locks are reasonably fair (which this > patch does). Any guesstimates how often we do that sort of hackish thing currently, and how hard it will be to debug each one? "Deadlock if the same CPU tries to take the lock again" is pretty easy to notice - are there more subtle failure modes (larger loops of locks, etc)?
Attachment:
pgpcH5eAiD7zl.pgp
Description: PGP signature
- Follow-Ups:
- Re: [patch 2/2] x86_64: ticket lock spinlock
- From: Nick Piggin <[email protected]>
- Re: [patch 2/2] x86_64: ticket lock spinlock
- References:
- [patch 1/2] spinlock: lockbreak cleanup
- From: Nick Piggin <[email protected]>
- [patch 2/2] x86_64: ticket lock spinlock
- From: Nick Piggin <[email protected]>
- [patch 1/2] spinlock: lockbreak cleanup
- Prev by Date: Re: [PATCH] remove binfmts.h from header exports
- Next by Date: Re: PATCH/RFC: [kdump] fix APIC shutdown sequence
- Previous by thread: Re: [patch 2/2] x86_64: ticket lock spinlock
- Next by thread: Re: [patch 2/2] x86_64: ticket lock spinlock
- Index(es):