diff options
author | David Ahern <dsahern@kernel.org> | 2022-01-25 05:45:11 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-01-26 01:44:55 +0300 |
commit | ab14f1802cfb2d7ca120bbf48e3ba6712314ffc3 (patch) | |
tree | c96c04a12016c292bf82db5bb5efc40b58b20786 /net/ipv4/tcp.c | |
parent | 6b0671a23dd6cc949d12fa8d65171856159cd17b (diff) | |
download | linux-ab14f1802cfb2d7ca120bbf48e3ba6712314ffc3.tar.xz |
net: Adjust sk_gso_max_size once when set
sk_gso_max_size is set based on the dst dev. Both users of it
adjust the value by the same offset - (MAX_TCP_HEADER + 1). Rather
than compute the same adjusted value on each call do the adjustment
once when set.
Signed-off-by: David Ahern <dsahern@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20220125024511.27480-1-dsahern@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ipv4/tcp.c')
-rw-r--r-- | net/ipv4/tcp.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 78e81465f5f3..cf1ce81663b1 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -894,8 +894,7 @@ static unsigned int tcp_xmit_size_goal(struct sock *sk, u32 mss_now, return mss_now; /* Note : tcp_tso_autosize() will eventually split this later */ - new_size_goal = sk->sk_gso_max_size - 1 - MAX_TCP_HEADER; - new_size_goal = tcp_bound_to_half_wnd(tp, new_size_goal); + new_size_goal = tcp_bound_to_half_wnd(tp, sk->sk_gso_max_size); /* We try hard to avoid divides here */ size_goal = tp->gso_segs * mss_now; |