common/mlx5/linux: replace malloc and free in glue
authorOphir Munk <ophirmu@nvidia.com>
Tue, 27 Oct 2020 10:16:59 +0000 (10:16 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 3 Nov 2020 22:35:07 +0000 (23:35 +0100)
This commit replaces mlx5_malloc and mlx5_free calls with Linux calls
malloc and free in file mlx5_glue.c.
The current mlx5_malloc calls have no flags, alignment or socket
selection, so they are equivalent to calling malloc.  Rdma-core itself
is using malloc.  When using mlx5_malloc the glue library is dependent
on common_mlx5 library which must be compiled first.  Not doing so and
in case ibverbs_link=dlopen will result in compilation failure:
mlx5_glue.c: undefined reference to `mlx5_malloc'.
To make all of this simpler and remove the common_mlx5 dependency - this
commit does the alloc/free replacements.

Fixes: 66914d19d135 ("common/mlx5: convert control path memory to unified malloc")
Cc: stable@dpdk.org
Signed-off-by: Ophir Munk <ophirmu@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
drivers/common/mlx5/linux/mlx5_glue.c

index 4a76902..2c0be62 100644 (file)
@@ -8,7 +8,6 @@
 #include <stddef.h>
 #include <stdint.h>
 #include <stdlib.h>
-#include <rte_memory.h>
 /*
  * Not needed by this file; included to work around the lack of off_t
  * definition for mlx5dv.h with unpatched rdma-core versions.
@@ -16,7 +15,6 @@
 #include <sys/types.h>
 
 #include "mlx5_glue.h"
-#include "../mlx5_malloc.h"
 
 static int
 mlx5_glue_fork_init(void)
@@ -186,7 +184,7 @@ mlx5_glue_destroy_flow_action(void *action)
                res = ibv_destroy_flow_action(attr->action);
                break;
        }
-       mlx5_free(action);
+       free(action);
        return res;
 #endif
 #else
@@ -632,7 +630,7 @@ mlx5_glue_dv_create_flow_action_counter(void *counter_obj, uint32_t offset)
        struct mlx5dv_flow_action_attr *action;
 
        (void)offset;
-       action = mlx5_malloc(0, sizeof(*action), 0, SOCKET_ID_ANY);
+       action = malloc(sizeof(*action));
        if (!action)
                return NULL;
        action->type = MLX5DV_FLOW_ACTION_COUNTERS_DEVX;
@@ -656,7 +654,7 @@ mlx5_glue_dv_create_flow_action_dest_ibv_qp(void *qp)
 #else
        struct mlx5dv_flow_action_attr *action;
 
-       action = mlx5_malloc(0, sizeof(*action), 0, SOCKET_ID_ANY);
+       action = malloc(sizeof(*action));
        if (!action)
                return NULL;
        action->type = MLX5DV_FLOW_ACTION_DEST_IBV_QP;
@@ -701,7 +699,7 @@ mlx5_glue_dv_create_flow_action_modify_header
 
        (void)domain;
        (void)flags;
-       action = mlx5_malloc(0, sizeof(*action), 0, SOCKET_ID_ANY);
+       action = malloc(sizeof(*action));
        if (!action)
                return NULL;
        action->type = MLX5DV_FLOW_ACTION_IBV_FLOW_ACTION;
@@ -741,7 +739,7 @@ mlx5_glue_dv_create_flow_action_packet_reformat
        (void)flags;
        struct mlx5dv_flow_action_attr *action;
 
-       action = mlx5_malloc(0, sizeof(*action), 0, SOCKET_ID_ANY);
+       action = malloc(sizeof(*action));
        if (!action)
                return NULL;
        action->type = MLX5DV_FLOW_ACTION_IBV_FLOW_ACTION;
@@ -771,7 +769,7 @@ mlx5_glue_dv_create_flow_action_tag(uint32_t tag)
 #else /* HAVE_MLX5DV_DR */
        struct mlx5dv_flow_action_attr *action;
 
-       action = mlx5_malloc(0, sizeof(*action), 0, SOCKET_ID_ANY);
+       action = malloc(sizeof(*action));
        if (!action)
                return NULL;
        action->type = MLX5DV_FLOW_ACTION_TAG;