Skip to content

Commit 4ee5245

Browse files
vittyvkliuw
authored andcommitted
Drivers: hv: Compare cpumasks and not their weights in init_vp_index()
The condition is supposed to check whether 'allocated_mask' got fully exhausted, i.e. there's no free CPU on the NUMA node left so we have to use one of the already used CPUs. As only bits which correspond to CPUs from 'cpumask_of_node(numa_node)' get set in 'allocated_mask', checking for the equal weights is technically correct but not obvious. Let's compare cpumasks directly. No functional change intended. Suggested-by: Michael Kelley <mikelley@microsoft.com> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Reviewed-by: Michael Kelley <mikelley@microsoft.com> Link: https://lore.kernel.org/r/20220128103412.3033736-3-vkuznets@redhat.com Signed-off-by: Wei Liu <wei.liu@kernel.org>
1 parent de96e8a commit 4ee5245

1 file changed

Lines changed: 1 addition & 2 deletions

File tree

drivers/hv/channel_mgmt.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -762,8 +762,7 @@ static void init_vp_index(struct vmbus_channel *channel)
762762
}
763763
allocated_mask = &hv_context.hv_numa_map[numa_node];
764764

765-
if (cpumask_weight(allocated_mask) ==
766-
cpumask_weight(cpumask_of_node(numa_node))) {
765+
if (cpumask_equal(allocated_mask, cpumask_of_node(numa_node))) {
767766
/*
768767
* We have cycled through all the CPUs in the node;
769768
* reset the allocated map.

0 commit comments

Comments
 (0)