Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Jan 2001 00:25:10 -0800
From:      jayanth <jayanth@yahoo-inc.com>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        Jordan Hubbard <jkh@winston.osd.bsdi.com>, Paul Herman <pherman@frenchfries.net>, Jonathan Lemon <jlemon@flugsvamp.com>, net@FreeBSD.ORG
Subject:   Re: I have delayed ACK problems
Message-ID:  <20010125002509.A77051@yahoo-inc.com>
In-Reply-To: <Pine.BSF.4.21.0101250840280.48291-100000@besplex.bde.org>; from bde@zeta.org.au on Thu, Jan 25, 2001 at 08:56:54AM %2B1100
References:  <77394.980367750@winston.osd.bsdi.com> <Pine.BSF.4.21.0101250840280.48291-100000@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Bruce,
could you test this patch and compare the results.
By generating an ACK for every segment with the TH_PSH flag set
I found a significant increase in throughput.

Index: tcp_input.c
===================================================================
RCS file: /home/ncvs/src/sys/netinet/tcp_input.c,v
retrieving revision 1.122
diff -u -r1.122 tcp_input.c
--- tcp_input.c 2001/01/24 16:25:36     1.122
+++ tcp_input.c 2001/01/25 08:08:36
@@ -966,7 +966,7 @@
                        m_adj(m, drop_hdrlen);  /* delayed header drop */
                        sbappend(&so->so_rcv, m);
                        sorwakeup(so);
-                       if (tcp_delack_enabled) {
+                       if ((tcp_delack_enabled) && !(th->th_flags & TH_PSH)){
                                callout_reset(tp->tt_delack, tcp_delacktime,
                                    tcp_timer_delack, tp);
                        } else {

jayanth


Bruce Evans (bde@zeta.org.au) wrote:
> On Wed, 24 Jan 2001, Jordan Hubbard wrote:
> 
> > > Something just doesn't sit well me.  This shouldn't happen in a
> > > 100Mbit LAN.  This seems like a plain vanilla network transaction, and
> > > FreeBSD is failing on something, where other OSes in the same
> > > environment don't.
> > 
> > You're almost certainly correct that there's a misfeature lurking in
> > there somewhere, I don't think anybody's arguing that particular
> > point, it's just that you're also (sadly) in a much better position to
> > diagnose this than [m]any of your readers since we don't have an
> > active failure scenario to analyze like you do. :(
> 
> I diagnosed similar problems in rmt(8) a few (?) months ago.  Try:
> 
>     tar cf localhost:/tmp/foo /boot/kernel
> 
> With the FreeBSD defaults, this crawls at almost precisely 100K/sec
> due to its protocol waiting for an ack after every 10K block and acks
> being delayed by 100 msec.
> 
> Bruce
> 
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-net" in the body of the message
> 
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010125002509.A77051>