Re: [PATCH] RDMA/mlx4: Use bitmap_alloc() when applicable

From: Christophe JAILLET
Date: Thu Nov 25 2021 - 15:12:06 EST


Le 25/11/2021 à 20:58, Joe Perches a écrit :
On Thu, 2021-11-25 at 20:42 +0100, Christophe JAILLET wrote:
Use 'bitmap_alloc()' to simplify code, improve the semantic and avoid some
open-coded arithmetic in allocator arguments.

Also change the corresponding 'kfree()' into 'bitmap_free()' to keep
consistency.

Thanks.

diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
[]
@@ -2784,10 +2784,8 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
if (err)
goto err_counter;
- ibdev->ib_uc_qpns_bitmap =
- kmalloc_array(BITS_TO_LONGS(ibdev->steer_qpn_count),
- sizeof(long),
- GFP_KERNEL);
+ ibdev->ib_uc_qpns_bitmap = bitmap_alloc(ibdev->steer_qpn_count,
+ GFP_KERNEL);

I wonder if it'd be simpler/smaller to change this to bitmap_zalloc and
remove the bitmap_zero in the if below.


I asked myself the same question.
It is easy to see that the bitmap is either cleared or set.
So this is fine enough for me.

Let see if a maintainer has a preference on it.

CJ