* [dpdk-dev] [PATCH] net/mlx5: prefer DevX API to create Rx objects
@ 2020-05-10 11:18 Dekel Peled
2020-05-12 11:15 ` Raslan Darawsheh
0 siblings, 1 reply; 2+ messages in thread
From: Dekel Peled @ 2020-05-10 11:18 UTC (permalink / raw)
To: matan, viacheslavo, rasland; +Cc: dev
Currently, DevX API is used to create Rx objects (RQ, RQT, TIR) only
if LRO or hairpin features are enabled on this RQ.
This patch uses DevX API by default, if DevX is supported and can be
used. Otherwise, Verbs API is used.
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
---
drivers/net/mlx5/mlx5_trigger.c | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c
index feb9154..8d53648 100644
--- a/drivers/net/mlx5/mlx5_trigger.c
+++ b/drivers/net/mlx5/mlx5_trigger.c
@@ -107,17 +107,11 @@
struct mlx5_priv *priv = dev->data->dev_private;
unsigned int i;
int ret = 0;
- enum mlx5_rxq_obj_type obj_type = MLX5_RXQ_OBJ_TYPE_IBV;
- struct mlx5_rxq_data *rxq = NULL;
+ enum mlx5_rxq_obj_type obj_type =
+ priv->config.dv_flow_en && priv->config.devx &&
+ priv->config.dest_tir ?
+ MLX5_RXQ_OBJ_TYPE_DEVX_RQ : MLX5_RXQ_OBJ_TYPE_IBV;
- for (i = 0; i < priv->rxqs_n; ++i) {
- rxq = (*priv->rxqs)[i];
-
- if (rxq && rxq->lro) {
- obj_type = MLX5_RXQ_OBJ_TYPE_DEVX_RQ;
- break;
- }
- }
/* Allocate/reuse/resize mempool for Multi-Packet RQ. */
if (mlx5_mprq_alloc_mp(dev)) {
/* Should not release Rx queues but return immediately. */
--
1.8.3.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [dpdk-dev] [PATCH] net/mlx5: prefer DevX API to create Rx objects
2020-05-10 11:18 [dpdk-dev] [PATCH] net/mlx5: prefer DevX API to create Rx objects Dekel Peled
@ 2020-05-12 11:15 ` Raslan Darawsheh
0 siblings, 0 replies; 2+ messages in thread
From: Raslan Darawsheh @ 2020-05-12 11:15 UTC (permalink / raw)
To: Dekel Peled, Matan Azrad, Slava Ovsiienko; +Cc: dev
Hi,
> -----Original Message-----
> From: Dekel Peled <dekelp@mellanox.com>
> Sent: Sunday, May 10, 2020 2:19 PM
> To: Matan Azrad <matan@mellanox.com>; Slava Ovsiienko
> <viacheslavo@mellanox.com>; Raslan Darawsheh <rasland@mellanox.com>
> Cc: dev@dpdk.org
> Subject: [PATCH] net/mlx5: prefer DevX API to create Rx objects
>
> Currently, DevX API is used to create Rx objects (RQ, RQT, TIR) only
> if LRO or hairpin features are enabled on this RQ.
>
> This patch uses DevX API by default, if DevX is supported and can be
> used. Otherwise, Verbs API is used.
>
> Signed-off-by: Dekel Peled <dekelp@mellanox.com>
> Acked-by: Matan Azrad <matan@mellanox.com>
> ---
> drivers/net/mlx5/mlx5_trigger.c | 14 ++++----------
> 1 file changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/net/mlx5/mlx5_trigger.c
> b/drivers/net/mlx5/mlx5_trigger.c
> index feb9154..8d53648 100644
> --- a/drivers/net/mlx5/mlx5_trigger.c
> +++ b/drivers/net/mlx5/mlx5_trigger.c
> @@ -107,17 +107,11 @@
> struct mlx5_priv *priv = dev->data->dev_private;
> unsigned int i;
> int ret = 0;
> - enum mlx5_rxq_obj_type obj_type = MLX5_RXQ_OBJ_TYPE_IBV;
> - struct mlx5_rxq_data *rxq = NULL;
> + enum mlx5_rxq_obj_type obj_type =
> + priv->config.dv_flow_en && priv->config.devx &&
> + priv->config.dest_tir ?
> + MLX5_RXQ_OBJ_TYPE_DEVX_RQ :
> MLX5_RXQ_OBJ_TYPE_IBV;
>
> - for (i = 0; i < priv->rxqs_n; ++i) {
> - rxq = (*priv->rxqs)[i];
> -
> - if (rxq && rxq->lro) {
> - obj_type = MLX5_RXQ_OBJ_TYPE_DEVX_RQ;
> - break;
> - }
> - }
> /* Allocate/reuse/resize mempool for Multi-Packet RQ. */
> if (mlx5_mprq_alloc_mp(dev)) {
> /* Should not release Rx queues but return immediately. */
> --
> 1.8.3.1
Patch applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-05-12 11:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-10 11:18 [dpdk-dev] [PATCH] net/mlx5: prefer DevX API to create Rx objects Dekel Peled
2020-05-12 11:15 ` Raslan Darawsheh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).