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>
