Skip site navigation (1)Skip section navigation (2)
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.

	Sam


home | help

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