mbuf denied problem

Peter Blok pblok at bsd4all.org
Sat May 20 11:55:06 UTC 2006


Hi,

I have posted a reply to similar questions a couple of times. Although I'm
subscribed to freebsd-net I never saw the answer appear in the list.

The ... denied counts is coming from calling uma_reclaim, which will in the
end call uma_zfree_internal which is increasing the fail counter.

I am not sure, but I believe the mbuf and cluster zones are static. So if I
set the UMA_ZONE_NOFREE flag in kern_mbuf.c, no attempt will be made to do a
free at all.

Here's my patch. It works, but I'm not sure it is ok.

--- sys/kern/kern_mbuf.c.orig	Sun Apr  9 13:32:51 2006
+++ sys/kern/kern_mbuf.c	Sun Apr  9 13:33:19 2006
@@ -168,7 +168,7 @@
 #else
 	    NULL, NULL,
 #endif
-	    MSIZE - 1, UMA_ZONE_MAXBUCKET);
+	    MSIZE - 1, UMA_ZONE_MAXBUCKET|UMA_ZONE_NOFREE);
 
 	zone_clust = uma_zcreate(MBUF_CLUSTER_MEM_NAME, MCLBYTES,
 	    mb_ctor_clust, mb_dtor_clust,
@@ -177,7 +177,7 @@
 #else
 	    NULL, NULL,
 #endif
-	    UMA_ALIGN_PTR, UMA_ZONE_REFCNT);
+	    UMA_ALIGN_PTR, UMA_ZONE_REFCNT|UMA_ZONE_NOFREE);
 
 	if (nmbclusters > 0)
 		uma_zone_set_max(zone_clust, nmbclusters);

-----Original Message-----
From: owner-freebsd-net at freebsd.org [mailto:owner-freebsd-net at freebsd.org]
On Behalf Of OxY
Sent: Friday, May 19, 2006 12:06 AM
To: freebsd-net at freebsd.org
Cc: Jin Guojun [VFFS]
Subject: mbuf denied problem

hi!

i have a problem with mbuf...
when all my free memory is gone ( i have 2gb ram) and
memory allocation looks like this:

Mem: 30M Active, 1607M Inact, 245M Wired, 84M Cache, 214M Buf, 3028K Free
Swap: 695M Total, 695M Free

mbuf starts to deny...
netstat -m show 0 deny till has memory, after that i see this:

Field root# netstat -m
629/466/1095 mbufs in use (current/cache/total)
512/176/688/65536 mbuf clusters in use (current/cache/total/max)
512/133 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)
1181K/468K/1649K bytes allocated to network (current/cache/total)
7410219/101093/101499 requests for mbufs denied
(mbufs/clusters/mbuf+clusters)
0/0/0 requests for jumbo clusters denied (4k/9k/16k)
0/0/0 sfbufs in use (current/peak/max)
0 requests for sfbufs denied
0 requests for sfbufs delayed
25288 requests for I/O initiated by sendfile
65 calls to protocol drain routines

this is my sysctl.conf:
net.inet.tcp.delayed_ack=0
net.inet.ip.intr_queue_maxlen=400
net.inet.tcp.inflight.enable=0
net.route.netisr_maxqlen=512
kern.ipc.somaxconn=1024

should i attach any other conf/log,etc?
thanks!
_______________________________________________
freebsd-net at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"




More information about the freebsd-net mailing list