]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
parisc: ensure broadcast tlb purge runs single threaded
authorHelge Deller <deller@gmx.de>
Wed, 29 Jul 2009 21:17:20 +0000 (23:17 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 16 Aug 2009 21:26:56 +0000 (14:26 -0700)
commit2614443191474e4c8619bf59665f9ef820e5276c
tree2420f887cc21cde58b8e18c897808990c226cf45
parent04101e4e4ef4ff5035ce5ad4510db02eb54c4985
parisc: ensure broadcast tlb purge runs single threaded

commit e82a3b75127188f20c7780bec580e148beb29da7 upstream

parisc: ensure broadcast tlb purge runs single threaded
The TLB flushing functions on hppa, which causes PxTLB broadcasts on the system
bus, needs to be protected by irq-safe spinlocks to avoid irq handlers to deadlock
the kernel. The deadlocks only happened during I/O intensive loads and triggered
pretty seldom, which is why this bug went so long unnoticed.

Signed-off-by: Helge Deller <deller@gmx.de>
[edited to use spin_lock_irqsave on UP as well since we'd been locking there
  all this time anyway, --kyle]
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/parisc/kernel/cache.c
arch/parisc/kernel/pci-dma.c
include/asm-parisc/tlbflush.h