requests for mbufs denied?

Robert Watson rwatson at FreeBSD.org
Mon May 22 10:00:37 PDT 2006


On Mon, 22 May 2006, Michael Butler wrote:

> On a 6-stable machine with sufficient RAM, i.e. no swapping and 215MB free 
> in 'top', I'm seeing ..
>
> imb at sarah:/home/imb# netstat -m
> 386/529/915 mbufs in use (current/cache/total)
> 384/254/638/17088 mbuf clusters in use (current/cache/total/max)
> 384/128 mbuf+clusters out of packet secondary zone in use (current/cache)
> 0/0/0/0 4k (page size) jumbo clusters in use (current/cache/total/max)
> 0/0/0/0 9k jumbo clusters in use (current/cache/total/max)
> 0/0/0/0 16k jumbo clusters in use (current/cache/total/max)
> 864K/640K/1504K bytes allocated to network (current/cache/total)
> 1405/14/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 0/0/0 requests for jumbo clusters denied (4k/9k/16k)
> 0/6/4528 sfbufs in use (current/peak/max)
> 0 requests for sfbufs denied
> 0 requests for sfbufs delayed
> 0 requests for I/O initiated by sendfile
> 28 calls to protocol drain routines
>
> What prompts this behaviour? Do I want/need to "play with" any sysctls to 
> preallocate more space?

This is believed to be a result of an error in the statistics measurement 
logic in UMA.  I've committed the attached patch to the CVS HEAD, and am 
looking for feedback over the next couple of weeks before merging to RELENG_6 
(and possibly the errata branches).  Any testing and reports of success or 
failure would be most welcome.

Robert N M Watson

Index: uma_core.c
===================================================================
RCS file: /home/ncvs/src/sys/vm/uma_core.c,v
retrieving revision 1.136
diff -u -r1.136 uma_core.c
--- uma_core.c	11 Feb 2006 19:20:56 -0000	1.136
+++ uma_core.c	21 May 2006 19:25:56 -0000
@@ -2413,8 +2413,7 @@
  	 * If nothing else caught this, we'll just do an internal free.
  	 */
  zfree_internal:
-	uma_zfree_internal(zone, item, udata, SKIP_DTOR, ZFREE_STATFAIL |
-	    ZFREE_STATFREE);
+	uma_zfree_internal(zone, item, udata, SKIP_DTOR, ZFREE_STATFREE);

  	return;
  }


More information about the freebsd-stable mailing list