net/mlx5: support Rx queue delay drop
[dpdk.git] / drivers / common / mlx5 / mlx5_malloc.c
index f64c15f..b19501e 100644 (file)
@@ -8,7 +8,8 @@
 #include <stdbool.h>
 #include <string.h>
 
-#include "mlx5_common_utils.h"
+#include "mlx5_common_log.h"
+#include "mlx5_common_os.h"
 #include "mlx5_malloc.h"
 
 struct mlx5_sys_mem {
@@ -148,14 +149,11 @@ static void *
 mlx5_alloc_align(size_t size, unsigned int align, unsigned int zero)
 {
        void *buf;
-       int ret;
-
-       ret = posix_memalign(&buf, align, size);
-       if (ret) {
-               DRV_LOG(ERR,
-                       "Couldn't allocate buf size=%zu align=%u. Err=%d\n",
-                       size, align, ret);
 
+       buf = mlx5_os_malloc(align, size);
+       if (!buf) {
+               DRV_LOG(ERR, "Couldn't allocate buf size=%zu align=%u.",
+                       size, align);
                return NULL;
        }
        if (zero)
@@ -187,7 +185,7 @@ mlx5_malloc(uint32_t flags, size_t size, unsigned int align, int socket)
                mlx5_mem_update_msl(addr);
 #ifdef RTE_LIBRTE_MLX5_DEBUG
                if (addr)
-                       __atomic_add_fetch(&mlx5_sys_mem->malloc_rte, 1,
+                       __atomic_add_fetch(&mlx5_sys_mem.malloc_rte, 1,
                                           __ATOMIC_RELAXED);
 #endif
                return addr;
@@ -201,7 +199,7 @@ mlx5_malloc(uint32_t flags, size_t size, unsigned int align, int socket)
                addr = malloc(size);
 #ifdef RTE_LIBRTE_MLX5_DEBUG
        if (addr)
-               __atomic_add_fetch(&mlx5_sys_mem->malloc_sys, 1,
+               __atomic_add_fetch(&mlx5_sys_mem.malloc_sys, 1,
                                   __ATOMIC_RELAXED);
 #endif
        return addr;
@@ -235,7 +233,7 @@ mlx5_realloc(void *addr, uint32_t flags, size_t size, unsigned int align,
                mlx5_mem_update_msl(new_addr);
 #ifdef RTE_LIBRTE_MLX5_DEBUG
                if (new_addr)
-                       __atomic_add_fetch(&mlx5_sys_mem->realloc_rte, 1,
+                       __atomic_add_fetch(&mlx5_sys_mem.realloc_rte, 1,
                                           __ATOMIC_RELAXED);
 #endif
                return new_addr;
@@ -248,7 +246,7 @@ mlx5_realloc(void *addr, uint32_t flags, size_t size, unsigned int align,
        new_addr = realloc(addr, size);
 #ifdef RTE_LIBRTE_MLX5_DEBUG
        if (new_addr)
-               __atomic_add_fetch(&mlx5_sys_mem->realloc_sys, 1,
+               __atomic_add_fetch(&mlx5_sys_mem.realloc_sys, 1,
                                   __ATOMIC_RELAXED);
 #endif
        return new_addr;
@@ -261,13 +259,13 @@ mlx5_free(void *addr)
                return;
        if (!mlx5_mem_is_rte(addr)) {
 #ifdef RTE_LIBRTE_MLX5_DEBUG
-               __atomic_add_fetch(&mlx5_sys_mem->free_sys, 1,
+               __atomic_add_fetch(&mlx5_sys_mem.free_sys, 1,
                                   __ATOMIC_RELAXED);
 #endif
-               free(addr);
+               mlx5_os_free(addr);
        } else {
 #ifdef RTE_LIBRTE_MLX5_DEBUG
-               __atomic_add_fetch(&mlx5_sys_mem->free_rte, 1,
+               __atomic_add_fetch(&mlx5_sys_mem.free_rte, 1,
                                   __ATOMIC_RELAXED);
 #endif
                rte_free(addr);