Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 May 2006 13:50:37 +0200
From:      "Peter Blok" <pblok@bsd4all.org>
To:        "'OxY'" <oxy@field.hu>, <freebsd-net@freebsd.org>
Cc:        "'Jin Guojun \[VFFS\]'" <j_guojun@lbl.gov>
Subject:   RE: mbuf denied problem
Message-ID:  <001501c67c03$9c3457e0$8a01a8c0@ntpc>
In-Reply-To: <002a01c67ac7$45354f40$0201a8c0@oxy>

next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org [mailto:owner-freebsd-net@freebsd.org]
On Behalf Of OxY
Sent: Friday, May 19, 2006 12:06 AM
To: freebsd-net@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@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?001501c67c03$9c3457e0$8a01a8c0>