Date: Mon, 22 May 1995 22:50:28 -0700 From: David Greenman <davidg@Root.COM> To: dennis@et.htp.com (dennis) Cc: hackers@FreeBSD.org Subject: Re: mbuf clusters being lost Message-ID: <199505230550.WAA00561@corbin.Root.COM> In-Reply-To: Your message of "Mon, 22 May 95 23:36:33 EDT." <199505230336.XAA16565@mail.htp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>We've been having a problem losing mbufs with a driver that works ok with >2.0R and other BSD op/sys but not with current. It seems that clusters >aren't been freed properly, although there are no mbufs that are not being >freed with m_freem(). Some specific evidence would be nice...I haven't noticed this problem in any of the supplied drivers. >Something has changed since 2.0R... *Lots* of things have changed since 2.0R. :-) >I've noticed that >netstat -m now accounts for clusters I fixed the printf's in netstat to be accurate. > and that if_ed.c now fails if clusters >are not available. I found that the performance was measurably better and that the driver could be simplified if I just used clusters in it...so that's what it does now. Running short on clusters in the previous version would have lead to the allocation of hundreds of tiny mbufs, linked together in long chains, reducing performance substantially and wasting memory. > What has changed.....and why doesn't the original code >work any more? It would help if you described what you are doing and why you think you're losing mbuf clusters. It's conceivable that -current places a somewhat higher demand on clusters and that you're just running close to your compiled in limit. If this is the case, you can increase the limit with options "NMBCLUSTERS=512" or more if needed. I have future plans of making this somewhat dynamic, but not before the 2.1 release. -DG
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199505230550.WAA00561>