diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/workqueue.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 4f4fdba722c3..eb753b7790e5 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
| @@ -225,11 +225,11 @@ enum { | |||
| 225 | }; | 225 | }; |
| 226 | 226 | ||
| 227 | extern struct workqueue_struct * | 227 | extern struct workqueue_struct * |
| 228 | __create_workqueue_key(const char *name, unsigned int flags, | 228 | __create_workqueue_key(const char *name, unsigned int flags, int max_active, |
| 229 | struct lock_class_key *key, const char *lock_name); | 229 | struct lock_class_key *key, const char *lock_name); |
| 230 | 230 | ||
| 231 | #ifdef CONFIG_LOCKDEP | 231 | #ifdef CONFIG_LOCKDEP |
| 232 | #define __create_workqueue(name, flags) \ | 232 | #define __create_workqueue(name, flags, max_active) \ |
| 233 | ({ \ | 233 | ({ \ |
| 234 | static struct lock_class_key __key; \ | 234 | static struct lock_class_key __key; \ |
| 235 | const char *__lock_name; \ | 235 | const char *__lock_name; \ |
| @@ -239,20 +239,20 @@ __create_workqueue_key(const char *name, unsigned int flags, | |||
| 239 | else \ | 239 | else \ |
| 240 | __lock_name = #name; \ | 240 | __lock_name = #name; \ |
| 241 | \ | 241 | \ |
| 242 | __create_workqueue_key((name), (flags), &__key, \ | 242 | __create_workqueue_key((name), (flags), (max_active), \ |
| 243 | __lock_name); \ | 243 | &__key, __lock_name); \ |
| 244 | }) | 244 | }) |
| 245 | #else | 245 | #else |
| 246 | #define __create_workqueue(name, flags) \ | 246 | #define __create_workqueue(name, flags, max_active) \ |
| 247 | __create_workqueue_key((name), (flags), NULL, NULL) | 247 | __create_workqueue_key((name), (flags), (max_active), NULL, NULL) |
| 248 | #endif | 248 | #endif |
| 249 | 249 | ||
| 250 | #define create_workqueue(name) \ | 250 | #define create_workqueue(name) \ |
| 251 | __create_workqueue((name), 0) | 251 | __create_workqueue((name), 0, 1) |
| 252 | #define create_freezeable_workqueue(name) \ | 252 | #define create_freezeable_workqueue(name) \ |
| 253 | __create_workqueue((name), WQ_FREEZEABLE | WQ_SINGLE_THREAD) | 253 | __create_workqueue((name), WQ_FREEZEABLE | WQ_SINGLE_THREAD, 1) |
| 254 | #define create_singlethread_workqueue(name) \ | 254 | #define create_singlethread_workqueue(name) \ |
| 255 | __create_workqueue((name), WQ_SINGLE_THREAD) | 255 | __create_workqueue((name), WQ_SINGLE_THREAD, 1) |
| 256 | 256 | ||
| 257 | extern void destroy_workqueue(struct workqueue_struct *wq); | 257 | extern void destroy_workqueue(struct workqueue_struct *wq); |
| 258 | 258 | ||
