From: Eli Cohen Date: Wed, 8 Aug 2018 23:23:53 +0000 (-0700) Subject: net/mlx5: Reduce command polling interval X-Git-Tag: v4.19-rc1~140^2~86^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=269d26f47f6f7d4275b0e225c9ee80cf4a31aa8c;p=thirdparty%2Fkernel%2Flinux.git net/mlx5: Reduce command polling interval Use cond_resched() instead of usleep_range() to decrease the time between polling attempts thus reducing overall driver load time. Below is a comparison before and after the change, of loading eight virtual functions. Before: real 0m8.785s user 0m0.093s sys 0m0.090s After: real 0m5.730s user 0m0.097s sys 0m0.087s Signed-off-by: Eli Cohen Reviewed-by: Or Gerlitz Signed-off-by: Saeed Mahameed Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/mellanox/mlx5/core/cmd.c b/drivers/net/ethernet/mellanox/mlx5/core/cmd.c index f498c7730c5b1..fe4ac40dbade7 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/cmd.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/cmd.c @@ -211,7 +211,7 @@ static void poll_timeout(struct mlx5_cmd_work_ent *ent) ent->ret = 0; return; } - usleep_range(5000, 10000); + cond_resched(); } while (time_before(jiffies, poll_end)); ent->ret = -ETIMEDOUT;