|
@@ -3577,6 +3577,13 @@ static bool wq_calc_node_cpumask(const struct workqueue_attrs *attrs, int node,
|
|
|
|
|
|
/* yeap, return possible CPUs in @node that @attrs wants */
|
|
/* yeap, return possible CPUs in @node that @attrs wants */
|
|
cpumask_and(cpumask, attrs->cpumask, wq_numa_possible_cpumask[node]);
|
|
cpumask_and(cpumask, attrs->cpumask, wq_numa_possible_cpumask[node]);
|
|
|
|
+
|
|
|
|
+ if (cpumask_empty(cpumask)) {
|
|
|
|
+ pr_warn_once("WARNING: workqueue cpumask: online intersect > "
|
|
|
|
+ "possible intersect\n");
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
return !cpumask_equal(cpumask, attrs->cpumask);
|
|
return !cpumask_equal(cpumask, attrs->cpumask);
|
|
|
|
|
|
use_dfl:
|
|
use_dfl:
|