[prev in list] [next in list] [prev in thread] [next in thread]
List: grub-devel
Subject: Re: [PATCH] tcp: ack when we get an OOO/lost packet
From: Josef Bacik <jbacik () fb ! com>
Date: 2015-12-07 18:28:22
Message-ID: 5665CFC6.80102 () fb ! com
[Download RAW message or body]
On 12/07/2015 12:59 PM, Andrei Borzenkov wrote:
> 12.08.2015 18:16, Josef Bacik пишет:
>> While adding tcp window scaling support I was finding that I'd get some packet
>> loss or reordering when transferring from large distances and grub would just
>> timeout. This is because we weren't ack'ing when we got our OOO packet, so the
>> sender didn't know it needed to retransmit anything, so eventually it would fill
>> the window and stop transmitting, and we'd time out. Fix this by ACK'ing when
>> we don't find our next sequence numbered packet. With this fix I no longer time
>> out. Thanks,
>>
>
> Applied. Sorry, it somehow slipped through.
>
> More ideas in the same direction.
>
> 1. GRUB timeout for receiving currently is ~33 seconds. It is too small
> comparing with anything else. I am pretty sure in situation from tcpdump
> you sent me we could recover if timeout was in order of several minutes :)
>
Yeah I jacked up the receive timeout in one of my iterations and that
helped as well. Could probably make it configurable.
> 2. We may consider sending ACK in grub_net_tcp_retransmit()
> additionally, although it probably needs proper rate-limiting based on RTT.
>
> 3. Using timestamp option may improve RTT detection for partner and is
> pretty cheap to implement.
>
I'm trying to get some standard testing set up internally so I can test
all of our hardware types whenever I make changes. Once I get that
stuff set up I'll look at adding this and some other features. Thanks,
Josef
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic