RDMA/hfi: Replace cpumask_weight with cpumask_empty where appropriate
authorYury Norov <yury.norov@gmail.com>
Thu, 10 Feb 2022 22:49:03 +0000 (14:49 -0800)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 11 Feb 2022 19:07:30 +0000 (15:07 -0400)
drivers/infiniband/hw/hfi1/affinity.c code calls cpumask_weight() to check
if any bit of a given cpumask is set. We can do it more efficiently with
cpumask_empty() because cpumask_empty() stops traversing the cpumask as
soon as it finds first set bit, while cpumask_weight() counts all bits
unconditionally.

Link: https://lore.kernel.org/r/20220210224933.379149-20-yury.norov@gmail.com
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/hfi1/affinity.c

index 706b3b6..877f8e8 100644 (file)
@@ -666,7 +666,7 @@ int hfi1_dev_affinity_init(struct hfi1_devdata *dd)
                         * engines, use the same CPU cores as general/control
                         * context.
                         */
-                       if (cpumask_weight(&entry->def_intr.mask) == 0)
+                       if (cpumask_empty(&entry->def_intr.mask))
                                cpumask_copy(&entry->def_intr.mask,
                                             &entry->general_intr_mask);
                }
@@ -686,7 +686,7 @@ int hfi1_dev_affinity_init(struct hfi1_devdata *dd)
                 * vectors, use the same CPU core as the general/control
                 * context.
                 */
-               if (cpumask_weight(&entry->comp_vect_mask) == 0)
+               if (cpumask_empty(&entry->comp_vect_mask))
                        cpumask_copy(&entry->comp_vect_mask,
                                     &entry->general_intr_mask);
        }