On Fri, Mar 07, 2003 at 05:00:42PM +0200, Petri Helenius wrote: > > There's probably a tightloop of frees going on somewhere. It's tough > > for me to analyze this as I cannot reproduce it. Have you tried > > running your tests over loopback to see if the same thing happens? > > What is the definition of "tightloop"? The received packet mbufs are freed > when the packets get processed/discarded which happens once for > a packet. The received packet rate is 50000-150000 packets per second. > > > > If so, and it does, can you please explain how to exactly replicate > > the test? > > Mirror a port with ~300-800Mbps of IP traffic to an em port. Just enable > promisc and monitor so it drops the packets after interrupt processing. > The overhead beyond that is neglible compared to mb_free. > > Pete
Ok I have a patch that makes mb_free() a lot smaller by moving out everything not in the common case to seperate functions. I'm going to wait until I get home to give it a test run before I send it to you. At least this way you'll be able to profile again and tell me whether it's really the common case of mb_free() that's being expensive or if you're often hitting non-common-cases (in which case the auxilary routines should register the higher CPU usage). -- Bosko Milekic * [EMAIL PROTECTED] * [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message