From owner-freebsd-net Thu Feb 11 01:43:51 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA20447 for freebsd-net-outgoing; Thu, 11 Feb 1999 01:43:51 -0800 (PST) (envelope-from owner-freebsd-net@FreeBSD.ORG) Received: from friley-185-205.res.iastate.edu (friley-185-205.res.iastate.edu [129.186.185.205]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA20428; Thu, 11 Feb 1999 01:43:48 -0800 (PST) (envelope-from ccsanady@friley-185-205.res.iastate.edu) Received: from friley-185-205.res.iastate.edu (localhost.res.iastate.edu [127.0.0.1]) by friley-185-205.res.iastate.edu (Postfix) with ESMTP id 960A410; Thu, 11 Feb 1999 03:43:43 -0600 (CST) X-Mailer: exmh version 2.0.2 2/24/98 To: freebsd-current@FreeBSD.ORG Cc: freebsd-net@FreeBSD.ORG Subject: Re: Serious mbuf cluster leak.. In-reply-to: Your message of "Wed, 10 Feb 1999 17:49:20 CST." <19990210234920.2A11B6@friley-185-205.res.iastate.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 11 Feb 1999 03:43:43 -0600 From: Chris Csanady Message-Id: <19990211094343.960A410@friley-185-205.res.iastate.edu> Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org After a while, I have determined the cause of the leak to be the following commit. Although, I can't seem to find any reason why it would cause this behavior--reverting these files fixes it. Any thoughts? fenner 1999/01/20 09:32:01 PST Modified files: sys/kern uipc_socket.c sys/netinet tcp_output.c tcp_usrreq.c tcp_var.h sys/sys protosw.h Log: Add a flag, passed to pru_send routines, PRUS_MORETOCOME. This flag means that there is more data to be put into the socket buffer. Use it in TCP to reduce the interaction between mbuf sizes and the Nagle algorithm. Based on: "Justin C. Walker" 's description of Apple's fix for this problem. Revision Changes Path 1.50 +4 -2 src/sys/kern/uipc_socket.c 1.32 +3 -2 src/sys/netinet/tcp_output.c 1.40 +7 -2 src/sys/netinet/tcp_usrreq.c 1.49 +18 -17 src/sys/netinet/tcp_var.h 1.26 +2 -1 src/sys/sys/protosw.h >I have been seeing a nasty cluster leak in both 3.0 stable and 4.0 >current as of today. Until now, I thougt maybe it was something in >my driver, athough after much careful looking over my code, it >simply does not look possible. Also, I downgraded to current of >Dec 12, and the problem dissappears. > >The odd thing is that the clusters that leak don't seem to be >attached to mbufs. Or at least there is not a 1-1 ratio. Following >is netstat output after a while of running netpipe in streaming >mode. (NPtcp -s; see ftp://ftp.scl.ameslab.gov/pub/netpipe) Also, >the leak only becomes apparent when the send write size is very >large--several hundred K to several megabytes. > >Does anyone have any idea what this may be? I really am not sure >where to look aside from trying prorgressively newer kernels. Also, >I only have alphas to test on right now.. > >puck:~> netstat -m >211/416 mbufs in use: > 116 mbufs allocated to data > 95 mbufs allocated to packet headers >1674/1688/2048 mbuf clusters in use (current/peak/max) >3480 Kbytes allocated to network (97% in use) >0 requests for memory denied >0 requests for memory delayed >0 calls to protocol drain routines > > >Chris Csanady > > > > >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