Re: [PATCH] RDMA/qib: Use the bitmap API to allocate bitmaps

From: Dennis Dalessandro
Date: Mon Jul 11 2022 - 08:08:37 EST


On 7/8/22 1:20 PM, Christophe JAILLET wrote:
> Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.
>
> It is less verbose and it improves the semantic.
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
> ---
> drivers/infiniband/hw/qib/qib_init.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/infiniband/hw/qib/qib_init.c b/drivers/infiniband/hw/qib/qib_init.c
> index d1a72e89e297..45211008449f 100644
> --- a/drivers/infiniband/hw/qib/qib_init.c
> +++ b/drivers/infiniband/hw/qib/qib_init.c
> @@ -1106,8 +1106,7 @@ struct qib_devdata *qib_alloc_devdata(struct pci_dev *pdev, size_t extra)
> if (!qib_cpulist_count) {
> u32 count = num_online_cpus();
>
> - qib_cpulist = kcalloc(BITS_TO_LONGS(count), sizeof(long),
> - GFP_KERNEL);
> + qib_cpulist = bitmap_zalloc(count, GFP_KERNEL);
> if (qib_cpulist)
> qib_cpulist_count = count;
> }
> @@ -1279,7 +1278,7 @@ static void __exit qib_ib_cleanup(void)
> #endif
>
> qib_cpulist_count = 0;
> - kfree(qib_cpulist);
> + bitmap_free(qib_cpulist);
>
> WARN_ON(!xa_empty(&qib_dev_table));
> qib_dev_cleanup();

Looks OK to me.

Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxxxxxxxxxxxxx>