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

Barney Cordoba barney_cordoba at yahoo.com
Wed Apr 29 19:05:02 UTC 2009





--- On Wed, 4/29/09, Erik Trulsson <ertr1013 at student.uu.se> wrote:

> From: Erik Trulsson <ertr1013 at student.uu.se>
> Subject: Re: Interrupts + Polling mode (similar to Linux's NAPI)
> To: "Barney Cordoba" <barney_cordoba at yahoo.com>
> Cc: "FreeBSD Net" <freebsd-net at freebsd.org>, "Luigi Rizzo" <rizzo at iet.unipi.it>, "Andrew Snow" <andrew at modulus.org>
> Date: Wednesday, April 29, 2009, 9:21 AM
> On Wed, Apr 29, 2009 at 05:46:32AM -0700, Barney Cordoba
> wrote:
> > 
> > 
> > 
> > 
> > --- On Tue, 4/28/09, Andrew Snow
> <andrew at modulus.org> wrote:
> > 
> > > From: Andrew Snow <andrew at modulus.org>
> > > Subject: Re: Interrupts + Polling mode (similar
> to Linux's NAPI)
> > > To: "Luigi Rizzo"
> <rizzo at iet.unipi.it>
> > > Cc: "FreeBSD Net"
> <freebsd-net at freebsd.org>
> > > 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
> > performance.
> > 
> > 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.
> 
> If you think that more resources should be applied on
> certain areas, then
> feel free to provide said resources yourself.  Other people
> are unlikely to
> change what they work on just because you want them to.
> 
> > 
> > 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.
> 
> That appearance is probably due to the fact the the FreeBSD
> project actually
> is a bunch of dudes working on what they feel like doing
> (or in a few cases
> on what they get paid for doing), and that there is very
> little centralized
> planning being done. (And even if there was, there is no
> way of enforcing
> that people work according to such a plan.)

Its one of the sad truths of FreeBSD. You'd think with such a large number
of commercial users you'd be able to get plenty of funding for the things
that really need to be done, rather then taking whatever bread crumbs
are thrown your way. Perhaps you need fewer bearded academics and a few
more suits to run the project more like a business than an extended
masters thesis?

BC


      


More information about the freebsd-net mailing list