mirror of https://gitee.com/openkylin/linux.git
mlx4: change TX coalescing defaults
mlx4 currently uses a too high tx coalescing setting, deferring
TX completion interrupts by up to 128 us.
With the recent skb_orphan() removal in commit 8112ec3b87
,
performance of a single TCP flow is capped to ~4 Gbps, unless
we increase tcp_limit_output_bytes.
I suggest using 16 us instead of 128 us, allowing a finer control.
Performance of a single TCP flow is restored to previous levels,
while keeping TCP small queues fully enabled with default sysctl.
This patch is also a BQL prereq.
Reported-by: Vimalkumar <j.vimal@gmail.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Yevgeny Petrilin <yevgenyp@mellanox.com>
Cc: Or Gerlitz <ogerlitz@mellanox.com>
Acked-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6f0a0986e3
commit
ecfd2ce1a9
|
@ -870,7 +870,7 @@ static void mlx4_en_set_default_moderation(struct mlx4_en_priv *priv)
|
|||
/* If we haven't received a specific coalescing setting
|
||||
* (module param), we set the moderation parameters as follows:
|
||||
* - moder_cnt is set to the number of mtu sized packets to
|
||||
* satisfy our coelsing target.
|
||||
* satisfy our coalescing target.
|
||||
* - moder_time is set to a fixed value.
|
||||
*/
|
||||
priv->rx_frames = MLX4_EN_RX_COAL_TARGET;
|
||||
|
|
|
@ -126,7 +126,7 @@ enum {
|
|||
#define MLX4_EN_RX_COAL_TIME 0x10
|
||||
|
||||
#define MLX4_EN_TX_COAL_PKTS 16
|
||||
#define MLX4_EN_TX_COAL_TIME 0x80
|
||||
#define MLX4_EN_TX_COAL_TIME 0x10
|
||||
|
||||
#define MLX4_EN_RX_RATE_LOW 400000
|
||||
#define MLX4_EN_RX_COAL_TIME_LOW 0
|
||||
|
|
Loading…
Reference in New Issue