[PARISC] Enable interrupts while spinning
Use the __raw_spin_lock_flags routine so we can take an interrupt while spinning. This re-fixes a bug jejb found on 2005-10-20: CPU0 does a flush_tlb_all holding the vmlist_lock for write. CPU1 tries a cat of /proc/meminfo which tries to acquire vmlist_lock for read CPU1 is now spinning with interrupts disabled CPU0 tries to execute a smp_call_function to flush the local tlb caches This is now a deadlock because CPU1 is spinning with interrupts disabled and can never receive the IPI Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
Showing
想要评论请 注册 或 登录