Messages in this thread | ![/](/images/icornerl.gif) | | Date | Fri, 9 May 2008 12:26:07 +0200 | From | Ingo Molnar <> | Subject | Re: Spinlocks: Factor our GENERIC_LOCKBREAK in order to avoid spin with irqs disable |
| |
* Christoph Lameter <clameter@sgi.com> wrote:
> Subject: Spinlocks: Factor our GENERIC_LOCKBREAK in order to avoid > spin with irqs disabled > > The nice spinlock functions that enable interrupts while spinning are > only usable if GENERIC_LOCKBREAK is set (and we do not debug locks but > lock debugging would not be used for a production configuration). > > Factor out the dependencies on the ->lock_break field from the nice > functions into a set of BREAKLOCK macros (cannot be functions since > the type of the lock variable varies). > > The nice spinlock function can then also be used if !GENERIC_LOCKBREAK
hm, there was some lockdep complication in this area. I guess we could use the 'nice' variants too if their irq-enabling/disabling was properly lockdep annotated and tracked by the irqflags machinery?
Ingo
| ![\](/images/icornerr.gif) |