Message ID | afef90304a6985474a9d367efb21423b8c56cc88.camel@linux.intel.com |
---|---|
State | Accepted |
Commit | 8f0e0cf74ccef41b383daddcf5447bba655031b3 |
Headers | show |
Series | crypto: iaa - Use cpumask_weight() when rebalancing | expand |
On Fri, Apr 05, 2024 at 01:57:30PM -0500, Tom Zanussi wrote: > If some cpus are offlined, or if the node mask is smaller than > expected, the 'nonexistent cpu' warning in rebalance_wq_table() may be > erroneously triggered. > > Use cpumask_weight() to make sure we only iterate over the exact > number of cpus in the mask. > > Also use num_possible_cpus() instead of num_online_cpus() to make sure > all slots in the wq table are initialized. > > Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> > --- > drivers/crypto/intel/iaa/iaa_crypto_main.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Patch applied. Thanks.
diff --git a/drivers/crypto/intel/iaa/iaa_crypto_main.c b/drivers/crypto/intel/iaa/iaa_crypto_main.c index 6229b24b0d35..814fb2c31626 100644 --- a/drivers/crypto/intel/iaa/iaa_crypto_main.c +++ b/drivers/crypto/intel/iaa/iaa_crypto_main.c @@ -922,7 +922,7 @@ static void rebalance_wq_table(void) for_each_node_with_cpus(node) { node_cpus = cpumask_of_node(node); - for (cpu = 0; cpu < nr_cpus_per_node; cpu++) { + for (cpu = 0; cpu < cpumask_weight(node_cpus); cpu++) { int node_cpu = cpumask_nth(cpu, node_cpus); if (WARN_ON(node_cpu >= nr_cpu_ids)) { @@ -2005,7 +2005,7 @@ static int __init iaa_crypto_init_module(void) int ret = 0; int node; - nr_cpus = num_online_cpus(); + nr_cpus = num_possible_cpus(); for_each_node_with_cpus(node) nr_nodes++; if (!nr_nodes) {
If some cpus are offlined, or if the node mask is smaller than expected, the 'nonexistent cpu' warning in rebalance_wq_table() may be erroneously triggered. Use cpumask_weight() to make sure we only iterate over the exact number of cpus in the mask. Also use num_possible_cpus() instead of num_online_cpus() to make sure all slots in the wq table are initialized. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> --- drivers/crypto/intel/iaa/iaa_crypto_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)