All of lore.kernel.org
 help / color / mirror / Atom feed
From: Josef Bacik <jbacik@fb.com>
To: Andrei Borzenkov <arvidjaar@gmail.com>,
	The development of GNU GRUB <grub-devel@gnu.org>,
	<kernel-team@fb.com>
Subject: Re: [PATCH] tcp: ack when we get an OOO/lost packet
Date: Mon, 7 Dec 2015 13:28:22 -0500	[thread overview]
Message-ID: <5665CFC6.80102@fb.com> (raw)
In-Reply-To: <5665C901.3040605@gmail.com>

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



      reply	other threads:[~2015-12-07 18:28 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-12 15:16 [PATCH] tcp: ack when we get an OOO/lost packet Josef Bacik
2015-08-13  8:19 ` Andrei Borzenkov
2015-08-13 13:59   ` Josef Bacik
2015-08-13 17:13     ` Andrei Borzenkov
2015-08-13 17:40       ` Josef Bacik
2015-08-17 12:38     ` Andrei Borzenkov
2015-08-18 17:58       ` Josef Bacik
2015-12-07 17:59 ` Andrei Borzenkov
2015-12-07 18:28   ` Josef Bacik [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5665CFC6.80102@fb.com \
    --to=jbacik@fb.com \
    --cc=arvidjaar@gmail.com \
    --cc=grub-devel@gnu.org \
    --cc=kernel-team@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.