cpumask_copy(parallel_mask, cpumask);
cpumask_copy(serial_mask, cpu_online_mask);
- rc = padata_set_cpumasks(engine->pte_pinst, parallel_mask, serial_mask);
-
+ rc = padata_set_cpumask(engine->pte_pinst, PADATA_CPU_PARALLEL,
+ parallel_mask);
free_cpumask_var(parallel_mask);
+ if (rc)
+ goto out_failed_mask;
+
+ rc = padata_set_cpumask(engine->pte_pinst, PADATA_CPU_SERIAL,
+ serial_mask);
+out_failed_mask:
free_cpumask_var(serial_mask);
#endif /* CONFIG_PADATA */
}
engine->pte_weight = cpumask_weight(par_mask);
- engine->pte_pinst = padata_alloc(engine->pte_wq, par_mask, all_mask);
+ engine->pte_pinst = padata_alloc_possible(engine->pte_wq);
if (engine->pte_pinst == NULL)
GOTO(err_free_par_mask, rc = -ENOMEM);
if (rc)
GOTO(err_free_padata, rc);
+ rc = cfs_ptengine_set_cpumask(engine, par_mask);
+ if (rc)
+ GOTO(err_unregister, rc);
+
rc = padata_start(engine->pte_pinst);
if (rc)
GOTO(err_unregister, rc);