net/mlx4_en: Optimized single ring steering
Avoid touching RX QP RSS context when loading with only
one RX ring, to allow optimized A0 RX steering.
Enable by:
- loading mlx4_core with module param: log_num_mgm_entry_size = -6.
- then: ethtool -L <interface> rx 1
Performance tests:
Tested on ConnectX3Pro, Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
XDP_DROP packet rate:
-------------------------------------
| Before | After | Gain |
IPv4 | 20.5 Mpps | 28.1 Mpps | 37% |
IPv6 | 18.4 Mpps | 28.1 Mpps | 53% |
-------------------------------------
Signed-off-by:
Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by:
Tariq Toukan <tariqt@mellanox.com>
Cc: kernel-team@fb.com
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- drivers/net/ethernet/mellanox/mlx4/en_main.c 3 additions, 3 deletionsdrivers/net/ethernet/mellanox/mlx4/en_main.c
- drivers/net/ethernet/mellanox/mlx4/en_netdev.c 7 additions, 5 deletionsdrivers/net/ethernet/mellanox/mlx4/en_netdev.c
- drivers/net/ethernet/mellanox/mlx4/en_rx.c 37 additions, 11 deletionsdrivers/net/ethernet/mellanox/mlx4/en_rx.c
- drivers/net/ethernet/mellanox/mlx4/main.c 2 additions, 2 deletionsdrivers/net/ethernet/mellanox/mlx4/main.c
- drivers/net/ethernet/mellanox/mlx4/mlx4_en.h 1 addition, 1 deletiondrivers/net/ethernet/mellanox/mlx4/mlx4_en.h
Loading
Please register or sign in to comment