Date: Tue, 13 Aug 2013 19:54:48 +0200 From: Luigi Rizzo <rizzo@iet.unipi.it> To: Navdeep Parhar <np@freebsd.org> Cc: FreeBSD Net <net@freebsd.org> Subject: Re: TSO and FreeBSD vs Linux Message-ID: <CA%2BhQ2%2BigZYFDwXwkhYgWhZR3nZrw3t2hFzs1ytRzpNvvwCY7pQ@mail.gmail.com> In-Reply-To: <520A6EC6.6050208@FreeBSD.org> References: <520A6D07.5080106@freebsd.org> <520A6EC6.6050208@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Aug 13, 2013 at 7:37 PM, Navdeep Parhar <np@freebsd.org> wrote: > On 08/13/13 10:29, Julian Elischer wrote: > .. > > > > Has anyone done any work on aggregating ACKs, or delaying responding to > > them? > > If LRO is enabled on the FreeBSD receiver, ACKs are already aggregated > (a duplicate ACK will result in an immediate flush though.) See > tcp_lro_rx. > >From what I have heard (no direct experience though), when TSO is enabled linux may decide to hold a transmission in the hope of getting more acks in the future hence a larger segment sent in one shot. I am not sure i find similar code in FreeBSD; there is something mentioned in tcp_output() but then the check only seems to be for t_maxseg /* * Sender silly window avoidance. We transmit under the following * conditions when len is non-zero: * * - We have a full segment (or more with TSO) * - This is the last buffer in a write()/send() and we are * either idle or running NODELAY * - we've timed out (e.g. persist timer) * - we have more then 1/2 the maximum send window's worth of * data (receiver may be limited the window size) * - we need to retransmit */ if (len) { if (len >= tp->t_maxseg) goto send; /* and the t_maxseg seems to be capped to the mss. This could be implemented in tcp_output(), i suppose. cheers luigi > Regards, > Navdeep > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" > -- -----------------------------------------+------------------------------- Prof. Luigi RIZZO, rizzo@iet.unipi.it . Dip. di Ing. dell'Informazione http://www.iet.unipi.it/~luigi/ . Universita` di Pisa TEL +39-050-2211611 . via Diotisalvi 2 Mobile +39-338-6809875 . 56122 PISA (Italy) -----------------------------------------+-------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BhQ2%2BigZYFDwXwkhYgWhZR3nZrw3t2hFzs1ytRzpNvvwCY7pQ>