Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 04 Oct 2018 10:51:57 -0700
From:      Bakul Shah <bakul@bitblocks.com>
To:        Warner Losh <imp@bsdimp.com>
Cc:        "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>
Subject:   Re: FCP-0101: Deprecating most 10/100 Ethernet drivers
Message-ID:  <20181004175204.EA3E2156E40C@mail.bitblocks.com>
In-Reply-To: Your message of "Thu, 04 Oct 2018 11:30:35 -0600." <CANCZdfoXPRncZ1KBnkPc%2B0rvX3Ho1ejtVqRF71Tc7%2BGp5fvDSQ@mail.gmail.com>
References:  <20181003210516.GA71565@spindle.one-eyed-alien.net> <20181004172420.F08F5156E40C@mail.bitblocks.com> <CANCZdfoXPRncZ1KBnkPc%2B0rvX3Ho1ejtVqRF71Tc7%2BGp5fvDSQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 04 Oct 2018 11:30:35 -0600 Warner Losh <imp@bsdimp.com> wrote:
>
> On Thu, Oct 4, 2018 at 11:25 AM Bakul Shah <bakul@bitblocks.com> wrote:
>
> > On Wed, 03 Oct 2018 21:05:16 -0000 Brooks Davis <brooks@freebsd.org>
> > wrote:
> > >
> > > The current list of drivers slated for REMOVAL is:
> > >
> > > ae, bfe, bm, cs, dme, ed, ep, ex, fe, pcn, rl, sf, smc, sn,
> > > ste, tl, tx, txp, vx, wb, xe
> > >
> > > The current list of drivers that will STAY in the tree is:
> > >
> > > dc, ffec, fxpl, hme, le, sis, vr, xl
> >
> > What is the disposition of drivers not on either list?
> >
>
> Apart from de, what are they?

I have re on on the motherboard on one machine.

Granted this is a very dumb test but...

cd /usr/src/dev
for a in *; do if [ -e $a/if_$a.c ] ; then echo $a; fi; done | wc -l
      86

> > > 10 and 100 megabit Ethernet drivers are largely irrelevant today
> > > and we have a significant number of them in the tree.  The ones that
> > > are no longer used and/or are not known to be working need to be
> > > removed due to the significant ongoing 'tax' on new development.
> >
> > I don't understand why there is a "significant ongoing 'tax'
> > on new development" for old NICs.  Can the internal MI<->MD
> > interface be evolved in the direction where the MD drivers for
> > old h/w "just work"? Or is it a hopeless task?
> >
>
> There's two problems. One is that the current APIs are very much setup for
> cut and paste driver construction. This leads to many drivers needing to be
> changed more often than necessary as the APIs are evolved. The second is
> the nature of the hardware has changed. We've gone from devices that can
> handle at most a single packet at the same time to drives that can handle
> thousands with some of the TCP stack offloaded into the card. This wide
> range of hardware is difficult to program for with the current stack. iflib
> is supposed to help (which is the MI/MD thing you're talking about), but in
> the end it can likely help only so much before support for old cards holds
> back adaptation of new features for new cards. Taken together, the old NICs
> in the tree represent a real burden to people trying to innovate (or even
> just bug fix) in this area. Add to that the inability to actually test the
> hardware in any meaningful way, and you have a situation that needs to
> change.

Thanks for the explanation.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20181004175204.EA3E2156E40C>