vdpa/mlx5: set polling mode default delay to zero
authorXueming Li <xuemingl@nvidia.com>
Wed, 2 Dec 2020 23:36:40 +0000 (23:36 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 8 Jan 2021 17:07:55 +0000 (18:07 +0100)
To improve throughput and latency, this patch allows Rx polling timer
delay to 0us.

Signed-off-by: Xueming Li <xuemingl@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
doc/guides/vdpadevs/mlx5.rst
drivers/vdpa/mlx5/mlx5_vdpa.c

index 3a6d883..903fdb0 100644 (file)
@@ -125,8 +125,7 @@ Driver options
   - 0, A nonzero value to set timer step in micro-seconds. The timer thread
     dynamic delay change steps according to this value. Default value is 1us.
 
-  - 1, A nonzero value to set fixed timer delay in micro-seconds. Default value
-    is 100us.
+  - 1, A value to set fixed timer delay in micro-seconds. Default value is 0us.
 
 - ``no_traffic_time`` parameter [int]
 
index b64f364..5020a99 100644 (file)
@@ -651,12 +651,9 @@ mlx5_vdpa_config_get(struct rte_devargs *devargs, struct mlx5_vdpa_priv *priv)
                return;
        rte_kvargs_process(kvlist, NULL, mlx5_vdpa_args_check_handler, priv);
        rte_kvargs_free(kvlist);
-       if (!priv->event_us) {
-               if (priv->event_mode == MLX5_VDPA_EVENT_MODE_DYNAMIC_TIMER)
-                       priv->event_us = MLX5_VDPA_DEFAULT_TIMER_STEP_US;
-               else if (priv->event_mode == MLX5_VDPA_EVENT_MODE_FIXED_TIMER)
-                       priv->event_us = MLX5_VDPA_DEFAULT_TIMER_DELAY_US;
-       }
+       if (!priv->event_us &&
+           priv->event_mode == MLX5_VDPA_EVENT_MODE_DYNAMIC_TIMER)
+               priv->event_us = MLX5_VDPA_DEFAULT_TIMER_STEP_US;
        DRV_LOG(DEBUG, "event mode is %d.", priv->event_mode);
        DRV_LOG(DEBUG, "event_us is %u us.", priv->event_us);
        DRV_LOG(DEBUG, "no traffic time is %u s.", priv->no_traffic_time_s);