[parisc-linux] init_idle and local_irq_save
James Bottomley
James.Bottomley at steeleye.com
Mon Mar 29 09:17:19 MST 2004
On Mon, 2004-03-29 at 11:03, Grant Grundler wrote:
> o local_irq_save()/local_irq_restore are called without an
> obvious local_irq_disable() call in between. Is this really
> needed for some other reason or is the local_irq_disable() missing?
local_irq_save() does do an irq disable. You're thinking of
local_save_flags() which only saves the flags but doesn't disable
interrupts.
> o double_rq_lock() acquires the locks with lowest address first.
> double_rq_unlock() does not release those in the inverse order.
> Is that a problem?
> I'm just nervous since I didn't see the local_irq_disable()
> in init_idle() which would guarantee both unlock's happen atomically.
No. The deadlock potential comes only from lock acquisition order, not
lock release order: nothing can block a lock release from proceeding.
James
More information about the parisc-linux
mailing list