IB/mthca: Use bitmap_set() when applicable
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Wed, 24 Nov 2021 20:41:36 +0000 (21:41 +0100)
committerJason Gunthorpe <jgg@nvidia.com>
Thu, 25 Nov 2021 17:29:05 +0000 (13:29 -0400)
The 'alloc->table' bitmap has just been allocated, so this is safe to use
the faster and non-atomic 'bitmap_set()' function. There is no need to
hand-write it.

Link: https://lore.kernel.org/r/f1bd33f6ea6c8ad519a222db6e9aa17c55610557.1637785902.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/mthca/mthca_allocator.c

index 06fc8a2..57fa1cc 100644 (file)
@@ -79,8 +79,6 @@ void mthca_free(struct mthca_alloc *alloc, u32 obj)
 int mthca_alloc_init(struct mthca_alloc *alloc, u32 num, u32 mask,
                     u32 reserved)
 {
-       int i;
-
        /* num must be a power of 2 */
        if (num != 1 << (ffs(num) - 1))
                return -EINVAL;
@@ -94,8 +92,7 @@ int mthca_alloc_init(struct mthca_alloc *alloc, u32 num, u32 mask,
        if (!alloc->table)
                return -ENOMEM;
 
-       for (i = 0; i < reserved; ++i)
-               set_bit(i, alloc->table);
+       bitmap_set(alloc->table, 0, reserved);
 
        return 0;
 }