diff options
author | Matthew Wilcox <matthew@wil.cx> | 2006-09-08 11:43:44 (GMT) |
---|---|---|
committer | Matthew Wilcox <willy@parisc-linux.org> | 2006-10-04 12:48:17 (GMT) |
commit | 65ee8f0a7fc2f2267b983f1f0349acb8f19db6e6 (patch) | |
tree | a74a9c7683957545c67777aee644ef14801975a2 /arch/parisc | |
parent | 56f335c89e28c488b1bfea3e5e697fce805c784d (diff) | |
download | linux-fsl-qoriq-65ee8f0a7fc2f2267b983f1f0349acb8f19db6e6.tar.xz |
[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: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc')
0 files changed, 0 insertions, 0 deletions