]> www.infradead.org Git - users/hch/xfs.git/commitdiff
workqueue: Remove the argument @cpu_going_down from wq_calc_pod_cpumask()
authorLai Jiangshan <jiangshan.ljs@antgroup.com>
Thu, 11 Jul 2024 08:35:45 +0000 (16:35 +0800)
committerTejun Heo <tj@kernel.org>
Thu, 11 Jul 2024 22:50:34 +0000 (12:50 -1000)
wq_calc_pod_cpumask() uses wq_online_cpumask, which excludes the cpu
going down, so the argument cpu_going_down is unused and can be removed.

Signed-off-by: Lai Jiangshan <jiangshan.ljs@antgroup.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/workqueue.c

index 298ce6b4989d389293b31021267c0b83dc859ba2..42190bdeacbdbff65cabdd1541aae45baf1950f4 100644 (file)
@@ -5125,10 +5125,8 @@ static void apply_wqattrs_unlock(void)
  * wq_calc_pod_cpumask - calculate a wq_attrs' cpumask for a pod
  * @attrs: the wq_attrs of the default pwq of the target workqueue
  * @cpu: the target CPU
- * @cpu_going_down: if >= 0, the CPU to consider as offline
  *
- * Calculate the cpumask a workqueue with @attrs should use on @pod. If
- * @cpu_going_down is >= 0, that cpu is considered offline during calculation.
+ * Calculate the cpumask a workqueue with @attrs should use on @pod.
  * The result is stored in @attrs->__pod_cpumask.
  *
  * If pod affinity is not enabled, @attrs->cpumask is always used. If enabled
@@ -5137,8 +5135,7 @@ static void apply_wqattrs_unlock(void)
  *
  * The caller is responsible for ensuring that the cpumask of @pod stays stable.
  */
-static void wq_calc_pod_cpumask(struct workqueue_attrs *attrs, int cpu,
-                               int cpu_going_down)
+static void wq_calc_pod_cpumask(struct workqueue_attrs *attrs, int cpu)
 {
        const struct wq_pod_type *pt = wqattrs_pod_type(attrs);
        int pod = pt->cpu_pod[cpu];
@@ -5234,7 +5231,7 @@ apply_wqattrs_prepare(struct workqueue_struct *wq,
                        ctx->dfl_pwq->refcnt++;
                        ctx->pwq_tbl[cpu] = ctx->dfl_pwq;
                } else {
-                       wq_calc_pod_cpumask(new_attrs, cpu, -1);
+                       wq_calc_pod_cpumask(new_attrs, cpu);
                        ctx->pwq_tbl[cpu] = alloc_unbound_pwq(wq, new_attrs);
                        if (!ctx->pwq_tbl[cpu])
                                goto out_free;
@@ -5368,7 +5365,6 @@ int apply_workqueue_attrs(struct workqueue_struct *wq,
 static void wq_update_pod(struct workqueue_struct *wq, int cpu,
                          int hotplug_cpu, bool online)
 {
-       int off_cpu = online ? -1 : hotplug_cpu;
        struct pool_workqueue *old_pwq = NULL, *pwq;
        struct workqueue_attrs *target_attrs;
 
@@ -5388,7 +5384,7 @@ static void wq_update_pod(struct workqueue_struct *wq, int cpu,
        wqattrs_actualize_cpumask(target_attrs, wq_unbound_cpumask);
 
        /* nothing to do if the target cpumask matches the current pwq */
-       wq_calc_pod_cpumask(target_attrs, cpu, off_cpu);
+       wq_calc_pod_cpumask(target_attrs, cpu);
        if (wqattrs_equal(target_attrs, unbound_pwq(wq, cpu)->pool->attrs))
                return;