Date: Sat, 02 Jun 2007 10:40:13 -0700 From: Sam Leffler <sam@errno.com> To: pyunyh@gmail.com Cc: freebsd-current@freebsd.org Subject: Re: nfe(4) vs. nve(4) Message-ID: <4661AB7D.3000202@errno.com> In-Reply-To: <20070602084210.GC1140@cdnetworks.co.kr>
index | next in thread | previous in thread | raw e-mail
Pyun YongHyeon wrote: > Dear All, > > As you know we have two drivers, nve(4) and nfe(4), in tree to serve > nVidia network adapters. nve(4) was the first driver for nVidia > network adapters and it relied on binary code(nvenetlib.o) from vendor > to access the hardware. Using the binary code revealed several issues > and David E. O'Brien imported FreeBSD nfe(4) which was ported by > Shigeaki Tagashira from OpenBSD nfe(4). > > The nfe(4) was very promising as it has full source code and supported > lots of newer nVidia hardwares. With bus_dma(9) changes I could even > get netperf performance report for the first time which was never > possible on nve(4).(It always panicked my box while the test was in > progress and it's still true on CURRENT). > > Shigeaki Tagashira and I had been working on enhancing nfe(4) for > several months. Now I think we'got stable working nfe(4) and it's time > to supesede nve(4) with the overhauled nfe(4) before branching to 7. > We fixed serveral bus_dma(9) bugs in the driver and added new hardware > capabilities such as MSI/MSIX, hardware VLAN support and TSO. > The only drawback of the overhauled nfe(4) I'm aware is lack of manual > half-duplex media configuration. Autosensing the media works but some > hardwares including mine does not work at all with manual half-duplex > media configuration. Other than that it should work better than nve(4). > > I had mailed several times to David E. O'Brien to get his comments but > I still didn't receive a reply. I'd like to commit the overhauled > nfe(4) and make the nfe(4) default drivers for 6-STABLE/7. > If there is objection please let me know. > > The overhauled nfe(4) can be found at the following URL. > http://people.freebsd.org/~yongari/nfe/if_nfe.c > http://people.freebsd.org/~yongari/nfe/if_nfereg.h > http://people.freebsd.org/~yongari/nfe/if_nfevar.h > > If you are brave enough to test Rx lock-free nfe(4), try: > http://people.freebsd.org/~yongari/nfe/WIP/if_nfe.c > http://people.freebsd.org/~yongari/nfe/WIP/if_nfereg.h > http://people.freebsd.org/~yongari/nfe/WIP/if_nfevar.h One point of reference: I recently upgraded a box that was using nve from RELENG_6 to HEAD (post gcc42). After the upgrade netperf over nve would repeatedly hang the system under light load. I switched to nfe and everything works fine and I get line rate for outbound tcp netperf. I'd like to see one driver in the tree. At worst I'd like to see nfe be the preferred driver. Samhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4661AB7D.3000202>
