Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Jan 2004 10:46:06 -0800
From:      Steve Francis <steve@expertcity.com>
To:        Luigi Rizzo <rizzo@icir.org>
Cc:        freebsd-net@freebsd.org
Subject:   Re: Device polling, kern.polling.burst_max and gig-e
Message-ID:  <401AA66E.3090708@expertcity.com>
In-Reply-To: <20040130103855.A7798@xorpc.icir.org>
References:  <401AA3A0.7080208@expertcity.com> <20040130103855.A7798@xorpc.icir.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Luigi Rizzo wrote:

>i would probably increase HZ to 2000 and burst_max to 300-400,
>not much more though otherwise you are going to spend too much
>time in the timer handler.
>In any case, i don't think the card is able to go above 6-700kpps.
>  
>
OK, thanks.
Each card is only being asked to do (at most ) 250kpps. Two cards with 
that load in the system.

No tuning of

kern.polling.each_burst recommended?
Thanks

>If you are having a lot of load, it is natural that you are
>going to get losses, the 2sec period is probably how often the
>nic updates the stats.
>
>	cheers
>	luigi
>
>On Fri, Jan 30, 2004 at 10:34:08AM -0800, Steve Francis wrote:
>  
>
>>We have a 4.9-RELEASE-p1 box dedicated to some traffic analysis.   It 
>>monitors on two em interfaces: about 200,000 pps on one interface, and 
>>180,000 pps on the other.
>>It's been dealing with that OK, but our traffic levels are increasing - 
>>we reached over 240,000 pps on one interface last week. This made CPU 
>>reach 100%, and some packets not get processed.
>>So, last night we enabled polling on the nics.
>>Initially, great result - CPU dropped from 82% load (45% system load due 
>>to interupts) yesterday to 55% load today (12% in system), for same pps 
>>load (about 300,000 pps total) at the time.
>>
>>However, input errors went from 0 to about 1200 (oddly, it was 1200 
>>every other second, and 0 for the seconds in-between.)
>>
>>A bit of digging around led me to increase kern.polling.burst_max.
>>According to http://info.iet.unipi.it/~luigi/polling/, "The default 
>>value is enough for a 100Mbit ethernet".  I increased it gradually to 
>>900, whcih has almost (but not entirely) eliminated the errors. Now the 
>>errors are zero for most intervals, but every 10 or so intervals there 
>>are between 10 and 100 input errors.
>>
>>So:
>>- does it make sense to leave the default at 150, in this day of gigabit 
>>nics?
>>- is there a danger in increasing the burt_max?  (My burst size goes 
>>straight to the max of 900.)
>>- can it be increased more ?
>>-  are there other variables that make sense to increase for gigabit? 
>>(like kern.polling.each_burst:?)
>>
>>Since I increased the burst max, I now have slowly incrementing 
>>kern.polling.lost_polls - about 1 every 2 seconds. Anything to worry about?
>>
>>Thanks
>>Steve Francis
>>
>>
>>
>>
>>_______________________________________________
>>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?401AA66E.3090708>