[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0804161750130.17123@wrl-59.cs.helsinki.fi>
Date: Wed, 16 Apr 2008 18:03:55 +0300 (EEST)
From: "Ilpo Järvinen" <ilpo.jarvinen@...sinki.fi>
To: John Heffner <johnwheffner@...il.com>
cc: David Miller <davem@...emloft.net>, wenji@...l.gov,
Netdev <netdev@...r.kernel.org>
Subject: Re: A Linux TCP SACK Question
On Wed, 16 Apr 2008, John Heffner wrote:
> On Wed, Apr 16, 2008 at 2:21 AM, Ilpo Järvinen
> <ilpo.jarvinen@...sinki.fi> wrote:
> >
> > But I want to note that tp->reordering does not consider the situation on
> > that specific ACK because its value might originate a number of segments
> > and even RTTs back. I think it could be possible to find a more
> > appropriate value for max_burst locally to an ACK. ...Though it might be a
> > bit over-engineered solution. For SACK we calculate similar metric anyway
> > in tcp_clean_rtx_queue to find if tp->reordering needs to be updated at
> > cumulative ACK and for NewReno min(tp->sacked_out, tp->reordering) + 3
> > could perhaps be used (I'm not sure if these would be foolproof in
> > recovery though).
>
> Reordering is generally a random process resulting from a packet
> traversing parallel queues. (In the case of netem, the random process
> is explicitly defined by simulation.) As reordering is created by
> packets sitting in queues, these queues *should* be able to absorb a
> burst of at least the reordering size. That's at least my
> justification for using the reordering threshold as max_burst, along
> with the fact that it should prevent cwnd from getting clamped.
Sure, but combined with other phenomena such as ACK compression (and
appropriate ACK pattern & pre TCP state), one might end up generating much
larger bursts than just tp->reordering. Though it's probably not any worse
than ACK compression already can cause e.g. after spurious RTO. And one is
quite guaranteed to run out of something else too before things get too
nasty.
--
i.
Powered by blists - more mailing lists