]> git.dujemihanovic.xyz Git - linux.git/commit
rxrpc: Only transmit one ACK per jumbo packet received
authorDavid Howells <dhowells@redhat.com>
Fri, 3 May 2024 15:07:40 +0000 (16:07 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 8 May 2024 15:05:03 +0000 (08:05 -0700)
commit012b7206918dcc5a4dcf1432b3e643114c95957e
treebba2060366789be71f1fd4060289e9665a256d82
parentba4e103848d3a2a28a0445e39f4a9564187efe54
rxrpc: Only transmit one ACK per jumbo packet received

Only generate one ACK packet for all the subpackets in a jumbo packet.  If
we would like to generate more than one ACK, we prioritise them base on
their reason code, in the order, highest first:

   OutOfSeq > NoSpace > ExceedsWin > Duplicate > Requested > Delay > Idle

For the first four, we reference the lowest offending subpacket; for the
last three, the highest.

This reduces the number of ACKs we end up transmitting to one per UDP
packet transmitted to reduce network loading and packet parsing.

Fixes: 5d7edbc9231e ("rxrpc: Get rid of the Rx ring")
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Reviewed-by: Jeffrey Altman <jaltman@auristor.com <mailto:jaltman@auristor.com>>
Link: https://lore.kernel.org/r/20240503150749.1001323-3-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/rxrpc/input.c