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

From: Joe Perches
Date: Thu Nov 25 2021 - 15:00:25 EST


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.