diff options
Diffstat (limited to 'kernel/workqueue.c')
| -rw-r--r-- | kernel/workqueue.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 99ee9b93926..329c404b68c 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c | |||
| @@ -269,12 +269,14 @@ struct workqueue_struct { | |||
| 269 | }; | 269 | }; |
| 270 | 270 | ||
| 271 | struct workqueue_struct *system_wq __read_mostly; | 271 | struct workqueue_struct *system_wq __read_mostly; |
| 272 | struct workqueue_struct *system_highpri_wq __read_mostly; | ||
| 272 | struct workqueue_struct *system_long_wq __read_mostly; | 273 | struct workqueue_struct *system_long_wq __read_mostly; |
| 273 | struct workqueue_struct *system_nrt_wq __read_mostly; | 274 | struct workqueue_struct *system_nrt_wq __read_mostly; |
| 274 | struct workqueue_struct *system_unbound_wq __read_mostly; | 275 | struct workqueue_struct *system_unbound_wq __read_mostly; |
| 275 | struct workqueue_struct *system_freezable_wq __read_mostly; | 276 | struct workqueue_struct *system_freezable_wq __read_mostly; |
| 276 | struct workqueue_struct *system_nrt_freezable_wq __read_mostly; | 277 | struct workqueue_struct *system_nrt_freezable_wq __read_mostly; |
| 277 | EXPORT_SYMBOL_GPL(system_wq); | 278 | EXPORT_SYMBOL_GPL(system_wq); |
| 279 | EXPORT_SYMBOL_GPL(system_highpri_wq); | ||
| 278 | EXPORT_SYMBOL_GPL(system_long_wq); | 280 | EXPORT_SYMBOL_GPL(system_long_wq); |
| 279 | EXPORT_SYMBOL_GPL(system_nrt_wq); | 281 | EXPORT_SYMBOL_GPL(system_nrt_wq); |
| 280 | EXPORT_SYMBOL_GPL(system_unbound_wq); | 282 | EXPORT_SYMBOL_GPL(system_unbound_wq); |
| @@ -3928,6 +3930,7 @@ static int __init init_workqueues(void) | |||
| 3928 | } | 3930 | } |
| 3929 | 3931 | ||
| 3930 | system_wq = alloc_workqueue("events", 0, 0); | 3932 | system_wq = alloc_workqueue("events", 0, 0); |
| 3933 | system_highpri_wq = alloc_workqueue("events_highpri", WQ_HIGHPRI, 0); | ||
| 3931 | system_long_wq = alloc_workqueue("events_long", 0, 0); | 3934 | system_long_wq = alloc_workqueue("events_long", 0, 0); |
| 3932 | system_nrt_wq = alloc_workqueue("events_nrt", WQ_NON_REENTRANT, 0); | 3935 | system_nrt_wq = alloc_workqueue("events_nrt", WQ_NON_REENTRANT, 0); |
| 3933 | system_unbound_wq = alloc_workqueue("events_unbound", WQ_UNBOUND, | 3936 | system_unbound_wq = alloc_workqueue("events_unbound", WQ_UNBOUND, |
| @@ -3936,9 +3939,9 @@ static int __init init_workqueues(void) | |||
| 3936 | WQ_FREEZABLE, 0); | 3939 | WQ_FREEZABLE, 0); |
| 3937 | system_nrt_freezable_wq = alloc_workqueue("events_nrt_freezable", | 3940 | system_nrt_freezable_wq = alloc_workqueue("events_nrt_freezable", |
| 3938 | WQ_NON_REENTRANT | WQ_FREEZABLE, 0); | 3941 | WQ_NON_REENTRANT | WQ_FREEZABLE, 0); |
| 3939 | BUG_ON(!system_wq || !system_long_wq || !system_nrt_wq || | 3942 | BUG_ON(!system_wq || !system_highpri_wq || !system_long_wq || |
| 3940 | !system_unbound_wq || !system_freezable_wq || | 3943 | !system_nrt_wq || !system_unbound_wq || !system_freezable_wq || |
| 3941 | !system_nrt_freezable_wq); | 3944 | !system_nrt_freezable_wq); |
| 3942 | return 0; | 3945 | return 0; |
| 3943 | } | 3946 | } |
| 3944 | early_initcall(init_workqueues); | 3947 | early_initcall(init_workqueues); |
