aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/workqueue.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/workqueue.c')
-rw-r--r--kernel/workqueue.c9
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
271struct workqueue_struct *system_wq __read_mostly; 271struct workqueue_struct *system_wq __read_mostly;
272struct workqueue_struct *system_highpri_wq __read_mostly;
272struct workqueue_struct *system_long_wq __read_mostly; 273struct workqueue_struct *system_long_wq __read_mostly;
273struct workqueue_struct *system_nrt_wq __read_mostly; 274struct workqueue_struct *system_nrt_wq __read_mostly;
274struct workqueue_struct *system_unbound_wq __read_mostly; 275struct workqueue_struct *system_unbound_wq __read_mostly;
275struct workqueue_struct *system_freezable_wq __read_mostly; 276struct workqueue_struct *system_freezable_wq __read_mostly;
276struct workqueue_struct *system_nrt_freezable_wq __read_mostly; 277struct workqueue_struct *system_nrt_freezable_wq __read_mostly;
277EXPORT_SYMBOL_GPL(system_wq); 278EXPORT_SYMBOL_GPL(system_wq);
279EXPORT_SYMBOL_GPL(system_highpri_wq);
278EXPORT_SYMBOL_GPL(system_long_wq); 280EXPORT_SYMBOL_GPL(system_long_wq);
279EXPORT_SYMBOL_GPL(system_nrt_wq); 281EXPORT_SYMBOL_GPL(system_nrt_wq);
280EXPORT_SYMBOL_GPL(system_unbound_wq); 282EXPORT_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}
3944early_initcall(init_workqueues); 3947early_initcall(init_workqueues);