diff options
Diffstat (limited to 'include/linux/workqueue.h')
-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 4f4fdba722c..eb753b7790e 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 | ||