Skip site navigation (1)Skip section navigation (2)
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>