linux/include
Johannes Berg 4e6045f134 workqueue: debug flushing deadlocks with lockdep
In the following scenario:

code path 1:
  my_function() -> lock(L1); ...; flush_workqueue(); ...

code path 2:
  run_workqueue() -> my_work() -> ...; lock(L1); ...

you can get a deadlock when my_work() is queued or running
but my_function() has acquired L1 already.

This patch adds a pseudo-lock to each workqueue to make lockdep
warn about this scenario.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Oleg Nesterov <oleg@tv-sign.ru>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-19 11:53:38 -07:00
..
acpi
asm-alpha remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-arm remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-arm26
asm-avr32 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-blackfin remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-cris remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-frv remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-generic bitops: introduce lock ops 2007-10-18 14:37:29 -07:00
asm-h8300 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-ia64 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-m32r remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-m68k remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-m68knommu remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-mips remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-parisc remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-powerpc remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-ppc Replace __attribute_pure__ with __pure 2007-10-18 14:37:32 -07:00
asm-s390 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-sh remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-sh64 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-sparc remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-sparc64 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-um remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-v850 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-x86 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-xtensa remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
crypto
keys
linux workqueue: debug flushing deadlocks with lockdep 2007-10-19 11:53:38 -07:00
math-emu
media
mtd
net [IPSEC]: Rename mode to outer_mode and add inner_mode 2007-10-17 21:35:51 -07:00
pcmcia
rdma
rxrpc
scsi
sound
video
xen
Kbuild