net.inet.tcp.slowstart_flightsize in 8-STABLE

Andre Oppermann andre at freebsd.org
Tue Nov 2 22:30:16 UTC 2010


On 02.11.2010 01:11, Maxim Dounin wrote:
> Hello!
>
> On Mon, Sep 27, 2010 at 03:17:59PM +0200, Andre Oppermann wrote:
>
>> On 27.09.2010 10:12, Maxim Dounin wrote:
>>> Hello!
>>>
>>> On Mon, Sep 13, 2010 at 09:24:53PM +0400, Maxim Dounin wrote:
>>>
>>> [...]
>>>
>>>> Andre, could you please take a look at one more patch as well?
>>>>
>>>> Igor reported that it still sees 100ms delays with rfc3465 turned
>>>> on, and it turns out to be similar issue (setting cwnd to 1*MSS)
>>>> for hosts found in hostcache.
>>>>
>>>> The problem with setting cwnd from hostcache was already reported
>>>> here:
>>>>
>>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/92690
>>>> http://lists.freebsd.org/pipermail/freebsd-net/2007-July/014780.html
>>>>
>>>> As using larger cwnd from hostcache may cause problems on
>>>> congested links (see second thread) I changed code to only use
>>>> cached cwnd as an upper bound for cwnd (instead of fixing current
>>>> code).  This is also in-line with what we do on connection
>>>> restarts.
>>>>
>>>> We may later consider re-adding usage of larger cwnd from
>>>> hostcache.  But I believe it should be done carefully and
>>>> probably behind sysctl, off by default.
>>>
>>> Ping.
>>
>> Thanks for the reminder.  I'll disable priming CWND from hostcache.
>
> Ping again.
>
> I would like to see the patch in question[1] committed and MFC'ed
> somewhere before 8.2.
>
> Andre, if you are just too busy to do it yourself - please say so,
> I'll ask somebody else to commit it.

Thanks for the reminder.  After EuroBSDCon Developer Summit I was
busy with other work and most of my tcp work was stalled due to
review bandwidth issues.

Lawrence, could you please spare a few seconds and take a quick look
at the attached patch?

-- 
Andre
-------------- next part --------------
Index: tcp_input.c
===================================================================
--- tcp_input.c	(revision 214692)
+++ tcp_input.c	(working copy)
@@ -3340,10 +3340,14 @@
 	 * hostcache when cwnd collapses so next connection doesn't
 	 * overloads the path again.
 	 *
+	 * XXXAO: Initializing the CWND from the hostcache is broken
+	 * and in its current form not RFC conformant.  It is disabled
+	 * until fixed or removed entirely.
+	 *
 	 * RFC3390 says only do this if SYN or SYN/ACK didn't got lost.
 	 * We currently check only in syncache_socket for that.
 	 */
-#define TCP_METRICS_CWND
+/* #define TCP_METRICS_CWND */
 #ifdef TCP_METRICS_CWND
 	if (metrics.rmx_cwnd)
 		tp->snd_cwnd = max(mss,


More information about the freebsd-net mailing list