Polling and kern.polling.idle_poll

Barney Cordoba barney_cordoba at yahoo.com
Fri Jul 3 11:31:45 UTC 2009




--- On Thu, 7/2/09, Larry Baird <lab at gta.com> wrote:

> From: Larry Baird <lab at gta.com>
> Subject: Re: Polling and kern.polling.idle_poll
> To: "Barney Cordoba" <barney_cordoba at yahoo.com>
> Cc: freebsd-net at freebsd.org, "Paul Thornton" <prt at prt.org>
> Date: Thursday, July 2, 2009, 11:31 AM
> > Curious as to why you don't
> simply lay out the $40 for a modern ethernet card that
> doesn't need polling to work well?
> These are low end embedded boxs.  No way to
> upgrade.  But in actuallity
> they have modern (fxp) NICS.  From our testing, live
> lock is a real issue
> for gateways receiving lots of network traffic. 
> Polling prevents live
> lock.

There are few applications where dropping buckets of packets is preferable to losing the keyboard. If "livelock is a problem", then your systems are too slow for the task.

Livelock can easity be tuned with the "work" parameter. fxp drivers are hard coded to (I think) 6000 ints per second, so its not rocket science to set your tuning parameters to whatever the system can handle before entering a livelock scenario. In reality, interrupt moderation is the equivalent of polling 6000 times per second, in the case of fxp. You wouldn't want to set hz to 6000 as you substantially increase system overhead. Moderation is a much more efficient way of managing your ethernet loads, because the "polls" are only directed at the driver, and if you dont have traffic then you don't  need to get polled.

Barney


      


More information about the freebsd-net mailing list