mbuf denied problem

OxY oxy at field.hu
Sat May 20 12:12:14 UTC 2006


----- Original Message ----- 
From: "Peter Blok" <pblok at bsd4all.org>
To: "'OxY'" <oxy at field.hu>; <freebsd-net at freebsd.org>
Cc: "'Jin Guojun [VFFS]'" <j_guojun at lbl.gov>
Sent: Saturday, May 20, 2006 1:50 PM
Subject: RE: mbuf denied problem


> 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);
>

thank you, i'll try it in a couple of days!
it's sad that it's a returning question and no patch from the developers.

> -----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