net/mlx5: revert DevX API preferred for Rx objects
Checks
Commit Message
Recent patch [1] exposed a minor performance issue.
In order to properly test it, this patch reverts commit [1].
[1] commit d237d22fbe62 ("net/mlx5: prefer DevX API to create Rx objects")
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
---
drivers/net/mlx5/mlx5_trigger.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
Comments
On 5/20/2020 1:37 PM, Dekel Peled wrote:
> Recent patch [1] exposed a minor performance issue.
> In order to properly test it, this patch reverts commit [1].
>
> [1] commit d237d22fbe62 ("net/mlx5: prefer DevX API to create Rx objects")
>
> Signed-off-by: Dekel Peled <dekelp@mellanox.com>
> Acked-by: Matan Azrad <matan@mellanox.com>
Applied to dpdk-next-net/master, thanks.
@@ -107,11 +107,16 @@
struct mlx5_priv *priv = dev->data->dev_private;
unsigned int i;
int ret = 0;
- 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;
-
+ enum mlx5_rxq_obj_type obj_type = MLX5_RXQ_OBJ_TYPE_IBV;
+ struct mlx5_rxq_data *rxq = NULL;
+
+ 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. */