From owner-freebsd-hackers@FreeBSD.ORG Thu Apr 10 13:12:04 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3572C37B404; Thu, 10 Apr 2003 13:12:04 -0700 (PDT) Received: from perrin.int.nxad.com (internal.ext.nxad.com [69.1.70.251]) by mx1.FreeBSD.org (Postfix) with ESMTP id E2AB743FA3; Thu, 10 Apr 2003 13:12:00 -0700 (PDT) (envelope-from sean@perrin.int.nxad.com) Received: by perrin.int.nxad.com (Postfix, from userid 1001) id 3DFD821065; Thu, 10 Apr 2003 13:11:43 -0700 (PDT) Date: Thu, 10 Apr 2003 13:11:43 -0700 From: Sean Chittenden To: "Jin Guojun [NCS]" Message-ID: <20030410201143.GF79923@perrin.int.nxad.com> References: <3E94A22D.174321F0@lbl.gov> <20030409230733.GX79923@perrin.int.nxad.com> <3E94B993.D282DEB2@lbl.gov> <20030410005846.GA79923@perrin.int.nxad.com> <3E95A37E.36186A9F@lbl.gov> <3E95A653.8F5CE89C@lbl.gov> <3E95BEBB.58F86F4F@lbl.gov> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3E95BEBB.58F86F4F@lbl.gov> User-Agent: Mutt/1.4i X-PGP-Key: finger seanc@FreeBSD.org X-PGP-Fingerprint: 3849 3760 1AFE 7B17 11A0 83A6 DD99 E31F BC84 B341 X-Web-Homepage: http://sean.chittenden.org/ cc: freebsd-hackers@freebsd.org cc: freebsd-performance@freebsd.org Subject: Re: tcp_output starving -- is due to mbuf get delay? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Apr 2003 20:12:05 -0000 > I guess I overlooked something after applying the patch (attached): > > Apr 10 12:11:52 ncs /kernel: sbappend: bad tail 0x0xc209a200 instead of 0x0xc243 > 6c00 > Apr 10 12:11:52 ncs /kernel: sbappend: bad tail 0x0xc2436c00 instead of 0x0xc238 > bf00 > Apr 10 12:11:52 ncs /kernel: sbappend: bad tail 0x0xc238bf00 instead of 0x0xc243 > f300 > ... > > A large number of such message was added into /var/log/message. This > indicates either bad patch code or something I changed in the patch > to make it work in 4.8 (attached). > > Any thought? That's likely the sign that the patch isn't appending to the tail of the list correctly. Doing a tail append where the tail is known should be an O(1) operation and should make adding an mbuf to a cluster faster. Right now it has to do a linear scan to append data, iirc, which is likely _a_ cause of some performance degradation. I'm not an mbuf expert, but I wonder how free mbuf's are identified. Regardless, I'll see if I can't figure out where this problem is with the patch, it should do nothing but make things faster. -sc -- Sean Chittenden