summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGavi Teitz <gavi@mellanox.com>2018-12-12 21:23:18 +0200
committerSaeed Mahameed <saeedm@mellanox.com>2018-12-20 05:06:00 -0800
commit4c8fb2986d44c5a75949a88ac61deec0ed50a542 (patch)
tree1be461265b1e79e5450d461d25a1cdf160258045
parent4a0475d57ad134429f9bb56068bb738b4afc5992 (diff)
net/mlx5e: Increase VF representors' SQ size to 128
The default size for the VF representors' SQ was too small to handle high packet rates. Doubling the size from 64 to 128 drastically improves the packet rate under stress (by about 50%), whereas increasing the size beyond 128 has not shown to make any further difference. The impact of the SQ size was measured with UDP traffic, in the following topology: TG <-> PF <-> TC forwarding <-> VF representor <-> VF in VM over a single core processing bi-directional traffic, with the following results: SQ size of 64: SQ size of 128: Packet rate for 64B UDP packets: 860 [Kpps] 1280 [Kpps] Packet rate for 114B VxLan encapsulated UDP packets: 320 [Kpps] 500 [Kpps] Signed-off-by: Gavi Teitz <gavi@mellanox.com> Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en_rep.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
index ed1158b58798..18d0f4f7537b 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
@@ -45,8 +45,8 @@
#include "en/tc_tun.h"
#include "fs_core.h"
-#define MLX5E_REP_PARAMS_LOG_SQ_SIZE \
- max(0x6, MLX5E_PARAMS_MINIMUM_LOG_SQ_SIZE)
+#define MLX5E_REP_PARAMS_DEF_LOG_SQ_SIZE \
+ max(0x7, MLX5E_PARAMS_MINIMUM_LOG_SQ_SIZE)
static const char mlx5e_rep_driver_name[] = "mlx5e_rep";
@@ -1336,7 +1336,7 @@ static void mlx5e_build_rep_params(struct net_device *netdev)
if (rep->vport == FDB_UPLINK_VPORT)
params->log_sq_size = MLX5E_PARAMS_DEFAULT_LOG_SQ_SIZE;
else
- params->log_sq_size = MLX5E_REP_PARAMS_LOG_SQ_SIZE;
+ params->log_sq_size = MLX5E_REP_PARAMS_DEF_LOG_SQ_SIZE;;
/* RQ */
mlx5e_build_rq_params(mdev, params);