[dpdk-dev] [PATCH v1 27/72] common/mlx5/windows: add OS alloc/dealloc pd

Narcisa Ana Maria Vasile navasile at linux.microsoft.com
Wed Nov 11 01:11:25 CET 2020


On Tue, Oct 27, 2020 at 11:22:50PM +0000, Ophir Munk wrote:
> From: Tal Shnaiderman <talshn at nvidia.com>
> 
> Implement Windows API mlx5_os_alloc_pd() and mlx5_os_dealloc_pd(). They
> are equivalent to the Linux implementation.
> 
> Signed-off-by: Tal Shnaiderman <talshn at nvidia.com>
> Acked-by: Matan Azrad <matan at nvidia.com>
> ---
>  drivers/common/mlx5/rte_common_mlx5_exports.def |  3 +-
>  drivers/common/mlx5/windows/mlx5_common_os.c    | 47 +++++++++++++++++++++++++
>  drivers/common/mlx5/windows/mlx5_common_os.h    |  3 ++
>  drivers/common/mlx5/windows/mlx5_win_ext.h      |  6 ++++
>  4 files changed, 58 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/common/mlx5/rte_common_mlx5_exports.def b/drivers/common/mlx5/rte_common_mlx5_exports.def
> + * @return
> + *    The mlx5_pd if pd is valid, NULL and errno otherwise.
> + */
> +void *
> +mlx5_os_alloc_pd(void *ctx)
> +{
> +	struct mlx5_pd *ppd =  mlx5_malloc(MLX5_MEM_ZERO,
> +		sizeof(struct mlx5_pd), 0, SOCKET_ID_ANY);
> +	if (!ppd)
> +		return NULL;
> +
> +	struct mlx5_devx_obj *obj = mlx5_devx_cmd_alloc_pd(ctx);
> +	if (!obj)

Free ppd here, to avoid memory leak.

> +		return NULL;
> +
> +	ppd->obj = obj;
> +	ppd->pdn = obj->id;
> +	ppd->devx_ctx = ctx;
> +	return ppd;
> +}
> +


More information about the dev mailing list