TSO and FreeBSD vs Linux
Luigi Rizzo
rizzo at iet.unipi.it
Tue Aug 13 17:54:52 UTC 2013
On Tue, Aug 13, 2013 at 7:37 PM, Navdeep Parhar <np at 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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>
--
-----------------------------------------+-------------------------------
Prof. Luigi RIZZO, rizzo at 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)
-----------------------------------------+-------------------------------
More information about the freebsd-net
mailing list