We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 9413336 + ca10d85 commit d363a90Copy full SHA for d363a90
1 file changed
kernel/workqueue.c
@@ -5792,9 +5792,13 @@ static int workqueue_apply_unbound_cpumask(const cpumask_var_t unbound_cpumask)
5792
list_for_each_entry(wq, &workqueues, list) {
5793
if (!(wq->flags & WQ_UNBOUND))
5794
continue;
5795
+
5796
/* creating multiple pwqs breaks ordering guarantee */
- if (wq->flags & __WQ_ORDERED)
5797
- continue;
+ if (!list_empty(&wq->pwqs)) {
5798
+ if (wq->flags & __WQ_ORDERED_EXPLICIT)
5799
+ continue;
5800
+ wq->flags &= ~__WQ_ORDERED;
5801
+ }
5802
5803
ctx = apply_wqattrs_prepare(wq, wq->unbound_attrs, unbound_cpumask);
5804
if (IS_ERR(ctx)) {
0 commit comments