[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20070302.133401.107943210.davem@davemloft.net>
Date: Fri, 02 Mar 2007 13:34:01 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: ilpo.jarvinen@...sinki.fi
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH v2] [TCP]: FRTO undo response falls back to ratehalving
one if ECEd
From: "Ilpo_Järvinen" <ilpo.jarvinen@...sinki.fi>
Date: Fri, 2 Mar 2007 14:34:36 +0200 (EET)
> Undoing ssthresh is disabled in fastretrans_alert whenever
> FLAG_ECE is set by clearing prior_ssthresh. The clearing does
> not protect FRTO because FRTO operates before fastretrans_alert.
> Moving the clearing of prior_ssthresh earlier seems to be a
> suboptimal solution to the FRTO case because then FLAG_ECE will
> cause a second ssthresh reduction in try_to_open (the first
> occurred when FRTO was entered). So instead, FRTO falls back
> immediately to the rate halving response, which switches TCP to
> CA_CWR state preventing the latter reduction of ssthresh.
>
> If the first ECE arrived before the ACK after which FRTO is able
> to decide RTO as spurious, prior_ssthresh is already cleared.
> Thus no undoing for ssthresh occurs. Besides, FLAG_ECE should be
> set also in the following ACKs resulting in rate halving response
> that sees TCP is already in CA_CWR, which again prevents an extra
> ssthresh reduction on that round-trip.
>
> If the first ECE arrived before RTO, ssthresh has already been
> adapted and prior_ssthresh remains cleared on entry because TCP
> is in CA_CWR (the same applies also to a case where FRTO is
> entered more than once and ECE comes in the middle).
>
> High_seq must not be touched after tcp_enter_cwr because CWR
> round-trip calculation depends on it.
>
> I believe that after this patch, FRTO should be ECN-safe and
> even able to take advantage of synergy benefits.
>
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@...sinki.fi>
Applied, but I had to apply this by hand, you did not generate
this diff against tcp-2.6
And I'm very angry about this specific case because I told you
EXPLICITLY that I reformated the switch() statement when I applied
the earlier FRTO patches.
Not only are people expected to patch against tcp-2.6, BUT I TOLD
YOU specifically that I modified your patch in this specific area.
What else do I need to do in order for people to generate clean
patches? :-( Tell me, I'll do it!!!
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists