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 08:43:00 -07:00
2007-10-18 14:37:20 -07:00
2007-10-17 20:15:13 +02:00
2007-10-18 14:37:24 -07:00
2007-10-18 14:37:25 -07:00
2007-07-16 09:05:47 -07:00
2007-10-18 14:37:24 -07:00
2007-10-18 14:37:25 -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 15:12:41 -07:00
2007-05-09 12:30:49 -07:00
2007-10-19 11:53:36 -07:00
2007-10-18 14:37:21 -07:00
2007-10-19 11:53:36 -07:00
2007-10-18 14:37:28 -07:00
2007-10-18 14:37:24 -07:00
2007-10-18 14:37:26 -07:00
2007-10-19 11:53:37 -07:00
2006-05-15 11:20:55 -07:00
2007-10-19 11:53:37 -07:00
2007-10-01 07:52:23 -07:00
2007-10-18 14:37:31 -07:00
2007-10-18 22:54:18 +02:00
2007-10-18 14:37:26 -07:00
2007-07-17 10:23:03 -07:00
2006-12-07 08:39:36 -08:00
2007-10-17 08:42:55 -07:00
2007-10-19 11:53:37 -07:00
2007-07-16 09:05:50 -07:00
2007-09-11 17:21:20 -07:00
2007-10-16 09:43:10 -07:00
2007-10-17 08:42:54 -07:00
2007-07-31 15:39:42 -07:00
2006-12-04 02:00:22 -05:00
2006-12-07 08:39:43 -08:00
2007-10-11 22:11:11 +02:00
2007-10-19 11:53:38 -07:00
2007-10-19 11:53:37 -07:00
2007-10-18 14:37:25 -07:00
2007-02-14 08:09:54 -08:00
2006-07-03 15:27:01 -07:00
2007-10-11 22:11:12 +02:00
2006-07-03 15:27:04 -07:00
2007-10-19 11:53:34 -07:00
2007-10-19 11:53:37 -07:00
2007-10-19 11:53:37 -07:00
2007-10-18 14:37:25 -07:00
2007-10-18 14:37:21 -07:00
2007-10-19 11:53:37 -07:00
2007-07-09 18:51:58 +02:00
2007-10-18 22:54:18 +02:00
2007-10-18 14:37:19 -07:00
2007-10-17 08:42:55 -07:00
2007-10-16 09:43:04 -07:00
2007-10-17 08:42:48 -07:00
2007-10-17 08:42:53 -07:00
2007-10-18 14:37:24 -07:00
2007-10-16 09:43:01 -07:00
2007-07-16 09:05:49 -07:00
2007-10-17 08:42:50 -07:00
2006-07-03 15:27:01 -07:00
2007-07-17 10:23:02 -07:00
2007-07-16 09:05:49 -07:00
2006-07-03 15:27:01 -07:00
2007-07-19 10:04:49 -07:00
2007-10-18 21:32:56 +02:00
2007-10-17 16:55:11 +02:00
2007-10-15 17:00:12 +02:00
2007-10-15 17:00:13 +02:00
2007-10-18 21:32:56 +02:00
2007-10-19 11:53:36 -07:00
2007-07-16 09:05:50 -07:00
2007-10-19 11:53:37 -07:00
2007-10-10 16:49:18 -07:00
2007-10-17 08:42:47 -07:00
2007-07-19 10:04:49 -07:00
2006-10-04 07:55:30 -07:00
2006-07-03 15:27:02 -07:00
2007-07-16 09:05:41 -07:00
2007-10-17 08:42:55 -07:00
2007-10-19 11:53:37 -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-18 14:37:24 -07:00
2007-10-18 14:37:28 -07:00
2007-10-18 14:37:28 -07:00
2007-05-08 11:15:07 -07:00
2007-09-19 11:24:18 -07:00
2007-10-17 09:11:18 -07:00
2007-07-16 09:05:47 -07:00
2007-09-19 11:24:17 -07:00
2007-05-09 08:57:56 +02:00
2007-10-19 11:53:38 -07:00