Device polling, kern.polling.burst_max and gig-e

Steve Francis steve at
Fri Jan 30 10:45:07 PST 2004

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?

>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, "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.
>>- does it make sense to leave the default at 150, in this day of gigabit 
>>- 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?
>>Steve Francis
>>freebsd-net at mailing list
>>To unsubscribe, send any mail to "freebsd-net-unsubscribe at"

More information about the freebsd-net mailing list