RE: [PATCH net-next] liquidio: Replace vmalloc with kmalloc in octeon_register_dispatch_fn()

From: Derek Chickles
Date: Thu Jul 30 2020 - 14:59:11 EST


> From: Wang Hai <wanghai38@xxxxxxxxxx>
> Sent: Wednesday, July 29, 2020 11:12 PM
> To: joe@xxxxxxxxxxx; Derek Chickles <dchickles@xxxxxxxxxxx>; Satananda
> Burla <sburla@xxxxxxxxxxx>; Felix Manlunas <fmanlunas@xxxxxxxxxxx>;
> davem@xxxxxxxxxxxxx; kuba@xxxxxxxxxx
> Cc: netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [EXT] [PATCH net-next] liquidio: Replace vmalloc with kmalloc in
> octeon_register_dispatch_fn()
>
> The size of struct octeon_dispatch is too small, it is better to use kmalloc
> instead of vmalloc.
>
> Suggested-by: Joe Perches <joe@xxxxxxxxxxx>
> Signed-off-by: Wang Hai <wanghai38@xxxxxxxxxx>
> ---
> drivers/net/ethernet/cavium/liquidio/octeon_device.c | 11 ++++-------
> 1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/ethernet/cavium/liquidio/octeon_device.c
> b/drivers/net/ethernet/cavium/liquidio/octeon_device.c
> index 934115d18488..ac32facaa427 100644
> --- a/drivers/net/ethernet/cavium/liquidio/octeon_device.c
> +++ b/drivers/net/ethernet/cavium/liquidio/octeon_device.c
> @@ -1056,7 +1056,7 @@ void octeon_delete_dispatch_list(struct
> octeon_device *oct)
>
> list_for_each_safe(temp, tmp2, &freelist) {
> list_del(temp);
> - vfree(temp);
> + kfree(temp);
> }
> }
>
> @@ -1152,13 +1152,10 @@ octeon_register_dispatch_fn(struct
> octeon_device *oct,
>
> dev_dbg(&oct->pci_dev->dev,
> "Adding opcode to dispatch list linked list\n");
> - dispatch = (struct octeon_dispatch *)
> - vmalloc(sizeof(struct octeon_dispatch));
> - if (!dispatch) {
> - dev_err(&oct->pci_dev->dev,
> - "No memory to add dispatch function\n");
> + dispatch = kmalloc(sizeof(*dispatch), GFP_KERNEL);
> + if (!dispatch)
> return 1;
> - }
> +
> dispatch->opcode = combined_opcode;
> dispatch->dispatch_fn = fn;
> dispatch->arg = fn_arg;
> --
> 2.17.1

Looks good.

Reviewed-by: Derek Chickles <dchickles@xxxxxxxxxxx>