Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1496570
| Path | csiph.com!goblin2!goblin.stu.neva.ru!news.unit0.net!news.panservice.it!bofh.it!news.nic.it!robomod |
|---|---|
| From | David Howells <dhowells@redhat.com> |
| Newsgroups | linux.kernel |
| Subject | [PATCH net 13/13] rxrpc: Don't request an ACK on the last DATA packet of a call's Tx phase |
| Date | Thu, 06 Oct 2016 12:10:03 +0200 |
| Message-ID | <spdML-79a-87@gated-at.bofh.it> (permalink) |
| References | <spdMJ-79a-3@gated-at.bofh.it> |
| X-Original-To | netdev@vger.kernel.org |
| Organization | Red Hat UK Ltd. Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SI4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 3798903 |
| User-Agent | StGit/0.17.1-dirty |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset="utf-8" |
| Content-Transfer-Encoding | 7bit |
| X-Scanned-By | MIMEDefang 2.68 on 10.5.11.24 |
| X-Greylist | Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Thu, 06 Oct 2016 10:05:28 +0000 (UTC) |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 36 |
| X-Original-Cc | dhowells@redhat.com, linux-afs@lists.infradead.org, linux-kernel@vger.kernel.org |
| X-Original-Date | Thu, 06 Oct 2016 11:05:27 +0100 |
| X-Original-Message-ID | <147574832716.30350.16807641319615333129.stgit@warthog.procyon.org.uk> |
| X-Original-References | <147574823645.30350.16131031458272035074.stgit@warthog.procyon.org.uk> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1496570 |
Show key headers only | View raw
Don't request an ACK on the last DATA packet of a call's Tx phase as for a
client there will be a reply packet or some sort of ACK to shift phase. If
the ACK is requested, OpenAFS sends a REQUESTED-ACK ACK with soft-ACKs in
it and doesn't follow up with a hard-ACK.
If we don't set the flag, OpenAFS will send a DELAY ACK that hard-ACKs the
reply data, thereby allowing the call to terminate cleanly.
Signed-off-by: David Howells <dhowells@redhat.com>
---
net/rxrpc/output.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/net/rxrpc/output.c b/net/rxrpc/output.c
index a12cea0cbc05..5dab1ff3a6c2 100644
--- a/net/rxrpc/output.c
+++ b/net/rxrpc/output.c
@@ -307,11 +307,12 @@ int rxrpc_send_data_packet(struct rxrpc_call *call, struct sk_buff *skb,
/* If our RTT cache needs working on, request an ACK. Also request
* ACKs if a DATA packet appears to have been lost.
*/
- if (retrans ||
- call->cong_mode == RXRPC_CALL_SLOW_START ||
- (call->peer->rtt_usage < 3 && sp->hdr.seq & 1) ||
- ktime_before(ktime_add_ms(call->peer->rtt_last_req, 1000),
- ktime_get_real()))
+ if (!(sp->hdr.flags & RXRPC_LAST_PACKET) &&
+ (retrans ||
+ call->cong_mode == RXRPC_CALL_SLOW_START ||
+ (call->peer->rtt_usage < 3 && sp->hdr.seq & 1) ||
+ ktime_before(ktime_add_ms(call->peer->rtt_last_req, 1000),
+ ktime_get_real())))
whdr.flags |= RXRPC_REQUEST_ACK;
if (IS_ENABLED(CONFIG_AF_RXRPC_INJECT_LOSS)) {
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH net-next 00/13] rxrpc: Fixes David Howells <dhowells@redhat.com> - 2016-10-06 12:10 +0200 [PATCH net 10/13] rxrpc: Return negative error code to kernel service David Howells <dhowells@redhat.com> - 2016-10-06 12:10 +0200 [PATCH net 03/13] rxrpc: Fix oops on incoming call to serviceless endpoint David Howells <dhowells@redhat.com> - 2016-10-06 12:10 +0200 [PATCH net 05/13] rxrpc: Fix warning by splitting rxrpc_send_call_packet() David Howells <dhowells@redhat.com> - 2016-10-06 12:10 +0200 [PATCH net 13/13] rxrpc: Don't request an ACK on the last DATA packet of a call's Tx phase David Howells <dhowells@redhat.com> - 2016-10-06 12:10 +0200 [PATCH net 07/13] rxrpc: Partially handle OpenAFS's improper termination of calls David Howells <dhowells@redhat.com> - 2016-10-06 12:10 +0200 Re: [PATCH net-next 00/13] rxrpc: Fixes David Miller <davem@davemloft.net> - 2016-10-07 03:10 +0200
csiph-web