From 6956a48cabbb5c98098aaf0116c255209b8f4e87 Mon Sep 17 00:00:00 2001 From: Xueming Li Date: Wed, 2 Dec 2020 23:36:40 +0000 Subject: [PATCH] vdpa/mlx5: set polling mode default delay to zero To improve throughput and latency, this patch allows Rx polling timer delay to 0us. Signed-off-by: Xueming Li Acked-by: Matan Azrad Reviewed-by: Maxime Coquelin --- doc/guides/vdpadevs/mlx5.rst | 3 +-- drivers/vdpa/mlx5/mlx5_vdpa.c | 9 +++------ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/doc/guides/vdpadevs/mlx5.rst b/doc/guides/vdpadevs/mlx5.rst index 3a6d88362d..903fdb0e60 100644 --- a/doc/guides/vdpadevs/mlx5.rst +++ b/doc/guides/vdpadevs/mlx5.rst @@ -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] diff --git a/drivers/vdpa/mlx5/mlx5_vdpa.c b/drivers/vdpa/mlx5/mlx5_vdpa.c index b64f364eb7..5020a99fae 100644 --- a/drivers/vdpa/mlx5/mlx5_vdpa.c +++ b/drivers/vdpa/mlx5/mlx5_vdpa.c @@ -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); -- 2.20.1