net/mlx5e: XDP Tx, no inline copy on ConnectX-5
authorSaeed Mahameed <saeedm@mellanox.com>
Tue, 6 Dec 2016 12:04:05 +0000 (14:04 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Mon, 6 Feb 2017 16:20:18 +0000 (18:20 +0200)
commitb70149dd7dc98661fbbfe7281f127caa408028fe
treec821d4619a8acc9e01a2078bed52193bc5e8a2a9
parenta6f402e4990145252ce4fde59b273fa7e4f91e1b
net/mlx5e: XDP Tx, no inline copy on ConnectX-5

ConnectX-5 and later HW generations will report min inline mode ==
MLX5_INLINE_MODE_NONE, which means driver is not required to copy packet
headers to inline fields of TX WQE.

Avoid copy to inline segment in XDP TX routine when HW inline mode doesn't
require it.

This will improve CPU utilization and boost XDP TX performance.

Tested with xdp2 single flow:
CPU: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
HCA: Mellanox Technologies MT28800 Family [ConnectX-5 Ex]

Before: 7.4Mpps
After:  7.8Mpps
Improvement: 5%

Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en.h
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c