Date: Thu, 4 Oct 2018 11:30:35 -0600 From: Warner Losh <imp@bsdimp.com> To: Bakul Shah <bakul@bitblocks.com> Cc: "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org> Subject: Re: FCP-0101: Deprecating most 10/100 Ethernet drivers Message-ID: <CANCZdfoXPRncZ1KBnkPc%2B0rvX3Ho1ejtVqRF71Tc7%2BGp5fvDSQ@mail.gmail.com> In-Reply-To: <20181004172420.F08F5156E40C@mail.bitblocks.com> References: <20181003210516.GA71565@spindle.one-eyed-alien.net> <20181004172420.F08F5156E40C@mail.bitblocks.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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? > > 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. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfoXPRncZ1KBnkPc%2B0rvX3Ho1ejtVqRF71Tc7%2BGp5fvDSQ>