From owner-freebsd-net@FreeBSD.ORG Tue Oct 30 00:20:41 2007 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E96A116A421 for ; Tue, 30 Oct 2007 00:20:41 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: from nz-out-0506.google.com (nz-out-0506.google.com [64.233.162.238]) by mx1.freebsd.org (Postfix) with ESMTP id A789E13C4E3 for ; Tue, 30 Oct 2007 00:20:41 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: by nz-out-0506.google.com with SMTP id l8so1168570nzf for ; Mon, 29 Oct 2007 17:20:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=UOxwG2Ek1h8ZiDnNz0nZ0Vl/eBDtO3YHTcxiJBVY1Ng=; b=I/7fBZXg84hQMfRYOhY1nWJbxUYf1UIwkfpF9DiijZcAOmStYz0Q40r9mNTkk1iG3eQ+srZj+d/BbmHJV1gX1Yj/tt0gAX296BNRuXBFICEis8oerIF6gAivJTWdgo4wwEk/bxaX7RJ/eUwJxa91MfCOii6DqfakxV5XQHJCWhY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=J/bDsF+a8ccOlsUIeaD/wT7BWSCAnOui/gNCOKwXbtJVMLE2sO6Sf8zUig37NoeNuquuMU6bjfG1CR1ZGGOZF+QDHpKI7ZOs7IW1M0J0UMgTurd+1zuusVdhe+L/fobi1/Ugcy7/wSQusbQYQLEYTy6Mhyu/bu2TxyHJRV8fw+8= Received: by 10.114.177.1 with SMTP id z1mr7625441wae.1193703237706; Mon, 29 Oct 2007 17:13:57 -0700 (PDT) Received: by 10.114.13.15 with HTTP; Mon, 29 Oct 2007 17:13:57 -0700 (PDT) Message-ID: Date: Mon, 29 Oct 2007 17:13:57 -0700 From: "Kip Macy" To: "Jack Vogel" In-Reply-To: <2a41acea0710291045m6f1d2acw78c26a455ea3894d@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <2a41acea0710291045m6f1d2acw78c26a455ea3894d@mail.gmail.com> Cc: "freebsd-net@freebsd.org" , FreeBSD Current , FreeBSD Stable List Subject: Re: RFC: Evolution of the em driver X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Oct 2007 00:20:42 -0000 Jack, you should know by now that we're not Linux. All we care about is that you not break the code that we rely on. I'm still slightly embarrassed when I explain to people that I build if_em as a module because em0 doesn't come up sometimes due to a race condition on initialization, so I need to be able to re-load the driver. We're happy that you're keeping support for Intel's hardware up to date on FreeBSD. -Kip On 10/29/07, Jack Vogel wrote: > I have an important decision to make and I thought rather than just make > it and spring it on you I'd present the issues and see what opinions were. > > Our newer hardware uses new features that, more and more, require > parallel code paths in the driver. For instance, the 82575 (Zoar) uses > what are called 'advanced descriptors', this means different TX path. > The 7.0 em driver has this support in it, it just uses a function pointer > to handle it. > > When I add in multiqueue/RSS support it will add even more code > that functions this way. > > What the Linux team did was to split the newer code into a standalone > driver, they call it 'igb'. I had originally resisted doing this, but with > the development I have been working on the past month I am starting > to wonder if it might not be best to follow them. > > I see 3 possibilities and I'd like feedback, which would you prefer if > you have a preference and why. > > First, keep the driver as is and just live with multiple code paths > and features, possibly #ifdef'ed as they appear. > > Second, split the driver as Linux has into em and igb. The added > question then is how to split it, Linux made the line the use of > advanced descriptors, so Zoar and after, but I could also see a > case for having everything PCI-E/MSI capable being in the new > driver. > > Third, sort of a half-way approach, split up code but not the > driver, in other words offer different source files that can be > compiled into the driver, so you could have the one big jumbo > driver with all in there, or one that will only work with a subset > of adapters. This one would probably be the most work, because > its a new approach. > > Cheers, > > Jack > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org" >