Use default pwq when alloc_unbound_pwq() is failed.

And remove "if" condition for whether "pwq" is same as "wq->dfl_pwq"
when wq_calc_node_cpumask() returns false and just use "goto use_dfl_pwq"

Signed-off-by: Daeseok Youn <daeseok.y...@gmail.com>
---
V2: replace "if condition" with "goto" as Lai's comment.
V3: Use default pwq when alloc_unbound_pwq() is failed.

 kernel/workqueue.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 0ee63af..0679854 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -4087,10 +4087,7 @@ static void wq_update_unbound_numa(struct 
workqueue_struct *wq, int cpu,
                if (cpumask_equal(cpumask, pwq->pool->attrs->cpumask))
                        goto out_unlock;
        } else {
-               if (pwq == wq->dfl_pwq)
-                       goto out_unlock;
-               else
-                       goto use_dfl_pwq;
+               goto use_dfl_pwq;
        }
 
        mutex_unlock(&wq->mutex);
@@ -4100,7 +4097,8 @@ static void wq_update_unbound_numa(struct 
workqueue_struct *wq, int cpu,
        if (!pwq) {
                pr_warning("workqueue: allocation failed while updating NUMA 
affinity of \"%s\"\n",
                           wq->name);
-               goto out_unlock;
+               mutex_lock(&wq->mutex);
+               goto use_dfl_pwq;
        }
 
        /*
-- 
1.7.4.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to