From owner-freebsd-current@FreeBSD.ORG Sat Jun 2 17:40:12 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AF62B16A41F for ; Sat, 2 Jun 2007 17:40:12 +0000 (UTC) (envelope-from sam@errno.com) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id 6AAC513C447 for ; Sat, 2 Jun 2007 17:40:12 +0000 (UTC) (envelope-from sam@errno.com) Received: from sam-lefflers-powerbook-g4-15.local ([10.0.0.178]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id l52HeBZs006329 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 2 Jun 2007 10:40:12 -0700 (PDT) (envelope-from sam@errno.com) Message-ID: <4661AB7D.3000202@errno.com> Date: Sat, 02 Jun 2007 10:40:13 -0700 From: Sam Leffler Organization: Errno Consulting User-Agent: Thunderbird 2.0.0.0 (Macintosh/20070326) MIME-Version: 1.0 To: pyunyh@gmail.com References: <20070602084210.GC1140@cdnetworks.co.kr> In-Reply-To: <20070602084210.GC1140@cdnetworks.co.kr> X-Enigmail-Version: 0.95.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-current@freebsd.org Subject: Re: nfe(4) vs. nve(4) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2007 17:40:12 -0000 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