diff options
| author | David Woodhouse <dwmw2@infradead.org> | 2008-02-03 18:29:41 +1100 |
|---|---|---|
| committer | David Woodhouse <dwmw2@infradead.org> | 2008-02-03 18:30:32 +1100 |
| commit | c1f3ee120bb61045b1c0a3ead620d1d65af47130 (patch) | |
| tree | 908430bf2b47fe8e96ac623ae7ab6dd5698d0938 /include/linux/workqueue.h | |
| parent | e619a75ff6201b567a539e787aa9af9bc63a3187 (diff) | |
| parent | 9135f1901ee6449dfe338adf6e40e9c2025b8150 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'include/linux/workqueue.h')
| -rw-r--r-- | include/linux/workqueue.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 7daafdc2514b..7f28c32d9aca 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h @@ -149,19 +149,27 @@ struct execute_work { extern struct workqueue_struct * __create_workqueue_key(const char *name, int singlethread, - int freezeable, struct lock_class_key *key); + int freezeable, struct lock_class_key *key, + const char *lock_name); #ifdef CONFIG_LOCKDEP #define __create_workqueue(name, singlethread, freezeable) \ ({ \ static struct lock_class_key __key; \ + const char *__lock_name; \ + \ + if (__builtin_constant_p(name)) \ + __lock_name = (name); \ + else \ + __lock_name = #name; \ \ __create_workqueue_key((name), (singlethread), \ - (freezeable), &__key); \ + (freezeable), &__key, \ + __lock_name); \ }) #else #define __create_workqueue(name, singlethread, freezeable) \ - __create_workqueue_key((name), (singlethread), (freezeable), NULL) + __create_workqueue_key((name), (singlethread), (freezeable), NULL, NULL) #endif #define create_workqueue(name) __create_workqueue((name), 0, 0) |
