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>