RDMA/rxe: Use 'bitmap_zalloc()' when applicable
'index.table' is a bitmap. So use 'bitmap_zalloc()' to simplify code, improve the semantic and avoid some open-coded arithmetic in allocator arguments. Using 'bitmap_zalloc()' also allows the removal of a now useless 'bitmap_zero()'. Also change the corresponding 'kfree()' into 'bitmap_free()' to keep consistency. Link: https://lore.kernel.org/r/4a3e11d45865678d570333d1962820eb13168848.1635093628.git.christophe.jaillet@wanadoo.fr Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
69d1ed5999
commit
e30bb300a4
@ -96,7 +96,6 @@ static inline const char *pool_name(struct rxe_pool *pool)
|
||||
static int rxe_pool_init_index(struct rxe_pool *pool, u32 max, u32 min)
|
||||
{
|
||||
int err = 0;
|
||||
size_t size;
|
||||
|
||||
if ((max - min + 1) < pool->max_elem) {
|
||||
pr_warn("not enough indices for max_elem\n");
|
||||
@ -107,15 +106,12 @@ static int rxe_pool_init_index(struct rxe_pool *pool, u32 max, u32 min)
|
||||
pool->index.max_index = max;
|
||||
pool->index.min_index = min;
|
||||
|
||||
size = BITS_TO_LONGS(max - min + 1) * sizeof(long);
|
||||
pool->index.table = kmalloc(size, GFP_KERNEL);
|
||||
pool->index.table = bitmap_zalloc(max - min + 1, GFP_KERNEL);
|
||||
if (!pool->index.table) {
|
||||
err = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
|
||||
bitmap_zero(pool->index.table, max - min + 1);
|
||||
|
||||
out:
|
||||
return err;
|
||||
}
|
||||
@ -167,7 +163,7 @@ void rxe_pool_cleanup(struct rxe_pool *pool)
|
||||
pr_warn("%s pool destroyed with unfree'd elem\n",
|
||||
pool_name(pool));
|
||||
|
||||
kfree(pool->index.table);
|
||||
bitmap_free(pool->index.table);
|
||||
}
|
||||
|
||||
static u32 alloc_index(struct rxe_pool *pool)
|
||||
|
Loading…
Reference in New Issue
Block a user