[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Patch] don't spin with irq disabled
Jan Beulich wrote: >>>> Juergen Gross <juergen.gross@xxxxxxxxxxxxxxxxxxx> 26.03.09 10:00 >>> >> Attached patch reduces interrupt latency in lock handling. >> spin_lock_irq and spin_lock_irqsave used to turn off IRQs and then tried to >> get the lock. If the lock was already held, waiting for the lock was done >> with >> IRQs still off. >> The patch reenables IRQs during the wait loop. > > This is wrong - you must not enable interrupts if they weren't enabled upon > entry to these two functions. spin_lock_irq disables always IRQs. spin_unlock_irq enables always IRQs. They are always used in pairs, so IRQs should always be enabled on entry of spin_lock_irq. I'm not enabling IRQs unconditionally in spin_lock_irqsave, of course, but use the flags value saved before... Did I miss something? Or did you refer only to my inexact comment above? Juergen -- Juergen Gross Principal Developer IP SW OS6 Telephone: +49 (0) 89 636 47950 Fujitsu Siemens Computers e-mail: juergen.gross@xxxxxxxxxxxxxxxxxxx Otto-Hahn-Ring 6 Internet: www.fujitsu-siemens.com D-81739 Muenchen Company details: www.fujitsu-siemens.com/imprint.html _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |