Skip site navigation (1)Skip section navigation (2)
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>