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
..
2007-10-17 22:51:13 +02:00
2007-10-18 05:12:21 -07:00
2007-10-17 08:43:03 -07:00
2007-10-18 14:37:20 -07:00
2007-10-17 08:42:47 -07:00
2007-10-17 08:43:00 -07:00
2007-10-17 08:42:45 -07:00
2007-10-17 08:43:07 -07:00
2007-10-18 14:37:29 -07:00
2007-10-18 14:37:24 -07:00
2007-10-19 11:53:37 -07:00
2007-10-19 11:53:36 -07:00
2007-10-19 11:53:36 -07:00
2007-10-18 14:37:20 -07:00
2007-10-17 08:42:47 -07:00
2007-10-17 08:42:47 -07:00
2007-10-18 14:37:32 -07:00
2007-10-17 08:42:47 -07:00
2007-10-18 14:37:32 -07:00
2007-10-18 14:37:19 -07:00
2007-10-17 08:42:52 -07:00
2007-10-19 11:53:36 -07:00
2007-10-18 14:37:28 -07:00
2007-10-19 11:53:36 -07:00
2007-10-17 08:42:53 -07:00
2007-10-18 14:37:26 -07:00
2007-10-19 11:53:36 -07:00
2007-10-18 14:37:21 -07:00
2007-10-17 08:43:00 -07:00
2007-10-17 08:42:51 -07:00
2007-10-17 08:43:02 -07:00
2007-10-17 08:43:02 -07:00
2007-10-17 08:42:48 -07:00
2007-10-18 14:37:29 -07:00
2007-10-17 18:50:03 -04:00
2007-10-17 18:49:59 -04:00
2007-10-17 18:49:59 -04:00
2007-10-17 18:50:02 -04:00
2007-10-17 18:49:58 -04:00
2007-10-17 08:43:01 -07:00
2007-10-17 08:43:04 -07:00
2007-10-17 21:21:26 -07:00
2007-10-17 00:00:08 +02:00
2007-10-18 14:37:19 -07:00
2007-10-19 11:53:33 -07:00
2007-10-18 14:37:31 -07:00
2007-10-18 22:54:18 +02:00
2007-10-19 00:30:11 +02:00
2007-10-17 08:42:52 -07:00
2007-10-17 08:42:59 -07:00
2007-10-17 08:42:56 -07:00
2007-10-19 11:53:35 -07:00
2007-10-17 08:43:00 -07:00
2007-10-17 08:42:55 -07:00
2007-10-18 14:37:32 -07:00
2007-10-18 14:37:32 -07:00
2007-10-17 18:49:58 -04:00
2007-10-19 11:53:35 -07:00
2007-10-17 08:42:52 -07:00
2007-10-19 11:53:36 -07:00
2007-10-17 08:42:52 -07:00
2007-10-18 14:37:28 -07:00
2007-10-17 08:43:01 -07:00
2007-10-17 08:42:54 -07:00
2007-10-17 08:42:57 -07:00
2007-10-17 08:42:57 -07:00
2007-10-19 11:53:33 -07:00
2007-10-18 16:21:18 -04:00
2007-10-19 11:53:35 -07:00
2007-10-19 11:53:38 -07:00
2007-10-17 08:42:56 -07:00
2007-10-19 11:53:36 -07:00
2007-10-19 11:53:36 -07:00
2007-10-17 08:43:00 -07:00
2007-10-17 08:42:55 -07:00
2007-10-17 08:42:46 -07:00
2007-10-17 08:42:50 -07:00
2007-10-17 08:42:56 -07:00
2007-10-17 08:42:57 -07:00
2007-10-17 08:42:44 -07:00
2007-10-17 08:42:55 -07:00
2007-10-18 19:31:54 -07:00
2007-10-17 08:42:58 -07:00
2007-10-19 11:53:34 -07:00
2007-10-19 11:53:37 -07:00
2007-10-17 22:30:07 +10:00
2007-10-17 21:17:42 -07:00
2007-10-17 08:42:46 -07:00
2007-10-18 14:37:23 -07:00
2007-10-17 08:42:44 -07:00
2007-10-19 11:53:37 -07:00
2007-10-18 14:37:18 -07:00
2007-10-17 08:43:04 -07:00
2007-10-17 18:49:58 -04:00
2007-10-17 08:42:55 -07:00
2007-10-17 08:42:45 -07:00
2007-10-17 08:42:56 -07:00
2007-10-17 08:42:46 -07:00
2007-10-19 11:53:35 -07:00
2007-10-19 11:53:35 -07:00
2007-10-19 11:53:37 -07:00
2007-10-16 22:57:17 -07:00
2007-10-18 14:37:24 -07:00
2007-10-17 08:42:53 -07:00
2007-10-17 08:42:47 -07:00
2007-10-17 08:43:01 -07:00
2007-10-17 08:42:45 -07:00
2007-10-17 08:42:45 -07:00
2007-10-18 14:37:20 -07:00
2007-10-17 08:42:45 -07:00
2007-10-18 14:37:23 -07:00
2007-10-18 14:37:28 -07:00
2007-10-17 08:42:53 -07:00
2007-10-17 08:42:58 -07:00
2007-10-17 08:42:51 -07:00
2007-10-17 08:42:56 -07:00
2007-10-19 11:53:34 -07:00
2007-10-19 11:53:38 -07:00
2007-10-17 08:43:02 -07:00