aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/workqueue.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/workqueue.h')
-rw-r--r--include/linux/workqueue.h18
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
227extern struct workqueue_struct * 227extern 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
257extern void destroy_workqueue(struct workqueue_struct *wq); 257extern void destroy_workqueue(struct workqueue_struct *wq);
258 258