Interrupts + Polling mode (similar to Linux's NAPI)

Barney Cordoba barney_cordoba at
Wed Apr 29 12:46:33 UTC 2009

--- On Tue, 4/28/09, Andrew Snow <andrew at> wrote:

> From: Andrew Snow <andrew at>
> Subject: Re: Interrupts + Polling mode (similar to Linux's NAPI)
> To: "Luigi Rizzo" <rizzo at>
> Cc: "FreeBSD Net" <freebsd-net at>
> Date: Tuesday, April 28, 2009, 5:09 PM
> Luigi Rizzo wrote:
> > If i am not mistaken we don't have generic support
> for interrupt moderation
> > in the kernel but that's a specific NIC feature:
> it works if the
> > hardware supports it, and it doesn't otherwise.
> > 
> > Of course it would be possible to modify polling to
> implement
> > generic interrupt mitigation even without hardware
> support, so
> > you get the best of the two worlds.
> It seems to me that you're wasting your time if you are
> trying to achieve a high throughput in FreeBSD without using
> an Intel Pro/1000 or 10gbe networking card.
> So I don't know if anyone would really miss out if
> generic polling support was completely removed from the
> kernel and all efforts were then placed into improving other
> parts of network flow in the kernel which need more help.
> - Andrew

I'm not sure if those specific NICs are the "only" choices. But I am 
concerned that so much brainpower is being put to extending the life
of antiquated science projects and so little (maybe none?) is being
put to improving drivers and the general network threading and

You spend 3 years redesigning the kernel, yet there are no resources to
create a decent 10gb/s solution, to get rid of netgraph and to do
network integration properly, or to improve the large number of mediocre
drivers that were written what might as well be 100 years ago.

When the collective answer to better network performance is polling, it
makes it appear as if the FreeBSD project is a bunch of dudes working on
stuff they feel like doing, rather than there being some centralized plan
to make the project successful.



More information about the freebsd-net mailing list