[PATCH 3.14 01/46] tcp: make challenge acks faster

From: Greg Kroah-Hartman
Date: Thu Aug 18 2016 - 10:58:07 EST


3.14-stable review patch. If anyone has any objections, please let me know.

------------------

From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

When backporting upstream commit 75ff39ccc1bd ("tcp: make challenge acks
less predictable") I negelected to use the correct ACCESS* type macros.
This fixes that up to hopefully speed things up a bit more.

Thanks to Chas Wiliams for the 3.10 backport which reminded me of this.

Cc: Yue Cao <ycao009@xxxxxxx>
Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Yuchung Cheng <ycheng@xxxxxxxxxx>
Cc: Neal Cardwell <ncardwell@xxxxxxxxxx>
Cc: Neal Cardwell <ncardwell@xxxxxxxxxx>
Cc: Yuchung Cheng <ycheng@xxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Chas Williams <ciwillia@xxxxxxxxxxx>
Cc: Willy Tarreau <w@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
net/ipv4/tcp_input.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -3299,12 +3299,12 @@ static void tcp_send_challenge_ack(struc
u32 half = (sysctl_tcp_challenge_ack_limit + 1) >> 1;

challenge_timestamp = now;
- challenge_count = half +
+ ACCESS_ONCE(challenge_count) = half +
prandom_u32_max(sysctl_tcp_challenge_ack_limit);
}
- count = challenge_count;
+ count = ACCESS_ONCE(challenge_count);
if (count > 0) {
- challenge_count = count - 1;
+ ACCESS_ONCE(challenge_count) = count - 1;
NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPCHALLENGEACK);
tcp_send_ack(sk);
}