From: Greg Kroah-Hartman Date: Wed, 17 Aug 2016 08:04:03 +0000 (+0200) Subject: 3.14-stable patches X-Git-Tag: v3.14.77~44 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e09bea58ec0552dbbf71fb22bf7a46da9a288fc8;p=thirdparty%2Fkernel%2Fstable-queue.git 3.14-stable patches added patches: tcp_acks_speedup.patch --- diff --git a/queue-3.14/series b/queue-3.14/series new file mode 100644 index 00000000000..e8b07d1bbaa --- /dev/null +++ b/queue-3.14/series @@ -0,0 +1 @@ +tcp_acks_speedup.patch diff --git a/queue-3.14/tcp_acks_speedup.patch b/queue-3.14/tcp_acks_speedup.patch new file mode 100644 index 00000000000..0d4c0f1f8fb --- /dev/null +++ b/queue-3.14/tcp_acks_speedup.patch @@ -0,0 +1,48 @@ +From foo@baz Wed Aug 17 10:00:14 CEST 2016 +Date: Wed, 17 Aug 2016 10:00:14 +0200 +To: Greg KH +From: Greg Kroah-Hartman +Subject: tcp: make challenge acks faster + +From: Greg Kroah-Hartman + +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 +Cc: Eric Dumazet +Cc: Linus Torvalds +Cc: Yuchung Cheng +Cc: Neal Cardwell +Cc: Neal Cardwell +Cc: Yuchung Cheng +Cc: David S. Miller +Cc: Chas Williams +Cc: Willy Tarreau +Signed-off-by: Greg Kroah-Hartman + +--- + 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); + }