RE: [PATCH 2/2] Drivers: hv: Compare cpumasks and not their weights in init_vp_index()

From: Michael Kelley (LINUX)
Date: Fri Jan 28 2022 - 09:57:36 EST


From: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Sent: Friday, January 28, 2022 2:34 AM
>
> 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@xxxxxxxxxxxxx>
> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
> ---
> drivers/hv/channel_mgmt.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
> index 52cf6ae525e9..26d269ba947c 100644
> --- a/drivers/hv/channel_mgmt.c
> +++ b/drivers/hv/channel_mgmt.c
> @@ -762,8 +762,7 @@ static void init_vp_index(struct vmbus_channel *channel)
> }
> allocated_mask = &hv_context.hv_numa_map[numa_node];
>
> - if (cpumask_weight(allocated_mask) ==
> - cpumask_weight(cpumask_of_node(numa_node))) {
> + if (cpumask_equal(allocated_mask, cpumask_of_node(numa_node)))
> {
> /*
> * We have cycled through all the CPUs in the node;
> * reset the allocated map.
> --
> 2.34.1

Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>