From owner-freebsd-stable Thu Oct 12 4:14:59 2000 Delivered-To: freebsd-stable@freebsd.org Received: from scully.zoominternet.net (scully.zoominternet.net [63.67.120.3]) by hub.freebsd.org (Postfix) with SMTP id 1A18037B502 for ; Thu, 12 Oct 2000 04:14:55 -0700 (PDT) Received: (qmail 9381 invoked from network); 12 Oct 2000 11:14:54 -0000 Received: from acs-24-154-28-99.zoominternet.net (HELO topperwein.dyndns.org) (24.154.28.99) by scully.zoominternet.net with SMTP; 12 Oct 2000 11:14:54 -0000 Received: from localhost (localhost [127.0.0.1]) by topperwein.dyndns.org (8.11.0/8.11.0) with ESMTP id e9CBF2800616 for ; Thu, 12 Oct 2000 07:15:02 -0400 (EDT) (envelope-from behanna@zbzoom.net) Date: Thu, 12 Oct 2000 07:15:02 -0400 (EDT) From: Chris BeHanna Reply-To: behanna@zbzoom.net To: FreeBSD-Stable Subject: mbuf leakage on 4.1.1-STABLE Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I posted a week or two ago about my machine wedging every couple of days, and seeing RX packet drop messages due to no memory available in /var/log/messages. Specifically, the messages were "dhclient: send_packet: No buffer space available /kernel: xl0: no memory for rx list -- packet dropped!" repeated thousands of times. Sean O'Connell pointed me in the right direction, stating that this looked like an mbuf starvation problem. I've been checking my system constantly via netstat -m, and it looks like I'm leaking mbufs (mbufs in use and mbuf clusters in use increase until they hit their limit, then the machine freezes, waiting, I suppose, for an mbuf to become available). I've taken an interim measure of doubling the number of NMBCLUSTERS in my kernel, but that just puts off the inevitable. I end up rebooting when I'm at 80% mbuf cluster usage, so that I can avoid having to fsck my disks when the machine wedges and I have to hit the button. A friend of mine suggested that I instrument mbuf.h and uipc_mbuf.c so that I could see where all of the allocs and frees occur. I've looked through these files, and it's not immediately obvious to me just how I'd instrument them to do that (e.g., __FILE__ and __LINE__ obviously can't be used). For reference, I'm running 4.1.1-STABLE, cvsup'ed early on October 4th or late on October 3rd, and my NIC is a 3Com 3C905B. I've been seeing this problem for some time now, but it's gotten a lot worse recently, and I'm given to understand that it could be just about anywhere in the protocol stack, not necessarily in the xl driver. I am willing to do some work to debug this, but never having been a kernel hacker, I need a little bit of guidance. Help! My Linux-using co-workers are really giving me the business over this! Thanks, -- Chris BeHanna Software Engineer (at yourfit.com) behanna@zbzoom.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message