From 4c0e08acc58ba94d74999182c1cf47b75c7e2709 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Thu, 21 Mar 2013 17:36:09 +0000 Subject: [PATCH] --- yaml --- r: 361833 b: refs/heads/master c: f4541d60a449afd40448b06496dcd510f505928e h: refs/heads/master i: 361831: c85c5f9687bac710516bde0d55a4646ad1b32806 v: v3 --- [refs] | 2 +- trunk/net/ipv4/tcp_output.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index f8af55f42bbd..5e7c332b70ef 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ae5fc98728c8bbbd6d7cab0b9781671fc4419c1b +refs/heads/master: f4541d60a449afd40448b06496dcd510f505928e diff --git a/trunk/net/ipv4/tcp_output.c b/trunk/net/ipv4/tcp_output.c index 817fbb396bc8..5d0b4387cba6 100644 --- a/trunk/net/ipv4/tcp_output.c +++ b/trunk/net/ipv4/tcp_output.c @@ -1809,8 +1809,11 @@ static bool tcp_tso_should_defer(struct sock *sk, struct sk_buff *skb) goto send_now; } - /* Ok, it looks like it is advisable to defer. */ - tp->tso_deferred = 1 | (jiffies << 1); + /* Ok, it looks like it is advisable to defer. + * Do not rearm the timer if already set to not break TCP ACK clocking. + */ + if (!tp->tso_deferred) + tp->tso_deferred = 1 | (jiffies << 1); return true;