Date: Fri, 18 Aug 2000 01:42:09 -0400 (EDT) From: Bosko Milekic <bmilekic@dsuper.net> To: Xiaowei Yang <yxw@cordelia.lcs.mit.edu> Cc: Xiaowei Yang <yxw@MIT.EDU>, freebsd-net@FreeBSD.ORG Subject: Re: how to set nmbufs Message-ID: <Pine.BSF.4.21.0008180133260.6936-100000@jehovah.technokratis.com> In-Reply-To: <200008180134.VAA21308@cordelia.lcs.mit.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, Can you send me a `disassemble ether_output' from the debugger? I don't know what's at ether_ouput+0x30b. This would at least help locate the problem. This seems fairly wierd because you have many denied requests but zero calls to drain routines. Kind of odd, unless _all_ the denied requests are coming from interrupts (which is possible, but which needs to be tracked). Send me the disassemble output. ;-) Cheers, Bosko. On Thu, 17 Aug 2000, Xiaowei Yang wrote: > Hi, > > Thanks a lot for the reply. I guess I sould phrase my question like > this: I am doing some network simulation which requires a lot mbufs > (for packet headers) but not mclusters. I want to allocate as much > memory as possible. For example, I need about 1M mbufs. I am using > right way to do this? I am using FreeBSD 4.0-release. I set > NMBCLUSTER to be 64000. > > Here is 'netstat -m' output before the page fault happened: > > 5948/256000/256000 mbufs in use (current/peak/max): > 5942 mbufs allocated to data > 6 mbufs allocated to packet headers > 178/302/64000 mbuf clusters in use (current/peak/max) > 32604 Kbytes allocated to network (3% in use) > 102535 requests for memory denied > 0 requests for memory delayed > 0 calls to protocol drain routines > > Here is the trace: > > ether_output+0x30b > ip_output+0x5cb > ip_stripoptions+0x1e8 > ip_input+0x46a > ip_input+0x69f > doreti_popl_fs_fault+0x95 > Xintr11+0x65 > > > I tried a larger value for NMBCLUSTER , which is 262144, but the > kernel stopped booting with page fault. (I heard that the size of mbuf > is 256 in 4.x. But I still see MSIZE is set to 128 in > sys/i386/include/param.h, which I donot understand.) > > Thanks, > > > > > > Hi, > > > > I'm afraid you'll need to provide much more information concerning > > the page fault, if you expect someone to be able to help you. > > In particular, the following is the necessary minimum: > > > > * FreeBSD version you're doing this with. > > * Is this reproducable? If so, what is the exact procedure? > > * Stack trace, as well as other available debugging information > > following the page fault. > > > > With the information you have presently provided, it may not even be > > the relevant code that is causing this fault. It could just be triggering > > a problem that occurs only when kmem_map is mostly occupied by the mb_map > > submap, and the size of the kmem_map (or its parent, kernel_map), may > > need to be increased. > > > > Bosko > > bmilekic@dsuper.net > > > > On Thu, 17 Aug 2000, Xiaowei Yang wrote: > > > > > Greetings, everyone, > > > > > > I am doing some simulation that needs to allocate as many nmbufs as > > > possible. I could not figure out how to set nmbufs to be the maximum > > > value allowd by my physical memory. I tired to mannual set it to be a > > > huge number, for example, 128MB/128B=1M (I have 196M memory) and used > > > netstat -m to monitor the real allocated nmbufs. However, when it > > > reached some value lower that a 1M, a kernel page fault happened. > > > > > > It seems to me I also need to increase the maximum kernel memory size > > > seperately. Can someone tell me how to do it right? Is there a simple > > > formula to estimate the number? > > > > > > > > > Thanks, > > > > > > Xiaowei > > > > > > > > Cheers, > --Xiaowei > > -- Bosko Milekic * Voice/Mobile: 514.865.7738 * Pager: 514.921.0237 bmilekic@technokratis.com * http://www.technokratis.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0008180133260.6936-100000>