Why not remove polling(4) from 7.0?
Chuck Swiger
cswiger at mac.com
Thu Jun 7 18:14:43 UTC 2007
On Jun 7, 2007, at 2:36 AM, Abdullah Ibn Hamad Al-Marri wrote:
>> > So why not remove it or switch to adaptive polling as em(4)
>> instead of
>> > resorting to polling?
>>
>> Are you just talking about em(4) or removing polling for all
>> drivers? It
>> is helpful in some cases, for example I run FreeBSD on a Nortel
>> contivity 1010 box where interrupts do not work on the fxp
>> interface and
>> yet its quite usable with polling mode.
>>
>> Its not enabled by default so its up to the user if they want to make
>> use of it.
>
> I mean can't we use better handeling for nics which is better than
> current polling(4)?
If a particular NIC supports something like interrupt mitigation,
generally it will be enabled by default. Of course, using interrupt
mitigation adds latency also, just as using polling does, but the
tradeoffs are probably worth it for many cases.
However, under other circumstances-- such as continuous or nearly
continuous high traffic loads on something like a router or firewall
application-- polling tends to handle such load better and avoid
livelock and/or excessive context switches to the interrupt handler
resulting in lower throughput. The key point to notice is that
polling is not the default behavior, it's an option which can be
selectively enabled when the admin of a particular machine decides
that it might prove to be the better choice.
And, as Andrew mentioned, in a few cases you'll find a machine where
the NIC doesn't fire interrupts off correctly at all, generally due
to some major flaw in the hardware or BIOS config, but polling will
still work OK.
--
-Chuck
More information about the freebsd-current
mailing list