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>
