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>
