netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: "Kok, Auke" <auke-jan.h.kok@intel.com>
Cc: Mark McLoughlin <markmc@redhat.com>,
	e1000-devel@lists.sourceforge.net, netdev@vger.kernel.org,
	"David S. Miller" <davem@davemloft.net>,
	Christoph Hellwig <hch@infradead.org>,
	"Ronciak,  John" <john.ronciak@intel.com>,
	Arjan van de Ven <arjan@linux.intel.com>,
	Andrew Grover <andy.grover@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	'Stephen Hemminger' <shemminger@linux-foundation.org>,
	Jason Lunz <lunz@reflexsecurity.com>,
	Andy Gospodarek <andy@greyhouse.net>
Subject: Re: Splitting e1000 (Was: Re: e1000: backport ich9 support from 7.5.5 ?)
Date: Sun, 08 Jul 2007 13:41:20 -0400	[thread overview]
Message-ID: <469121C0.7040208@garzik.org> (raw)
In-Reply-To: <468EDAF9.3020606@intel.com>

Kok, Auke wrote:
> This is not acceptable and hardly fair to expect from us.
> 
> It also exposes users to endless delays and uncertainties as to a final 
> resolution. Not to mention that writing a driver from scratch for (just) 
> ich9 will take significant time, is silly since it's almost identical to 
> ich8 etc..
> 
> I don't think that anyone besides you and maybe one or two others are 
> interested in doing this rewrite from scratch. The rest of us would 
> rather see something much more similar to my original suggestion which 
> relieves the ich9-wishes for everyone and provides a good starting point 
> to go forward. Not to mention that a lot of that code is already there, 
> and at least cleaned up quite a bit already.

Let's review the history here:

* For -years-, Intel has been told to stream structural cleanups into 
e1000 (and ixgb), along with feature enablement.  None of these cleanups 
happened, and the result was today's bloated driver.

* Intel posts a new e1000 driver, which is just as complex, if not more so.

* Intel proposes a Linux user transition plan that amounts to an abrupt 
NIC driver switch for users on a widely used NIC platform.

* Intel immediately dismisses all alternate paths to e1000 change, and 
all major e1000new structural comments.

Thus in effect you are presenting the Linux community with one option 
(and only one) -- your e1000new as it exists today -- and demanding that 
that option be accepted.

More importantly, Intel is asking the Linux community to TRUST that 
Intel will be a good driver MAINTAINER, despite lack of encouraging 
evidence in that regard.

Will we continue to see INATTENTION to basic driver maintenance, with 
100% of resources being devoted new features, and 0% devoted to thinking 
about how best to create a maintainable driver for those features long term?

With e1000new, I see a driver that's internally modular, but no more 
maintainable.  I also see a driver that runs directly counter to what we 
normally do in this situation -- split it up into multiple drivers. 
When you find yourself reinventing a net driver API, that's a big hint 
your engineering is ass-backwards.

It's not acceptable and hardly fair to expect the Linux community to 
blindly swallow the single option you've presented us.

We're talking about one of the most widely used NIC drivers here. 
Proposing to flip a switch and dump all users on the new driver in a 
couple months time does not serve Linux users at all.  Introducing the 
new driver more slowly -- starting with ICH9 and any other PCI IDs not 
covered by e1000 -- gives the driver a chance to prove itself in the 
field and be introduced more slowly, while at the same time not 
dramatically disturbing the existing, working e1000 installed base.

Starting with a new driver for the new hardware is the right way to go. 
    Get that driver into the field, get it right, and THEN use that 
field experience to see what PCI IDs you want to transition from the 
older driver.  That path is minimal disruption for Linux users, and 
maximizes the changes of Linux users running a working, proven driver. 
And coincidentally, that path also gives you the freedom to do heavy 
development on the new driver, with minimal disruption of the majority 
of your userbase.

So in sum, (a) Intel does not appear to have thought through the driver 
transition, (b) Intel has not proven itself to be a maintainer, and (c) 
e1000new needs to be restructured.

	Jeff




-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

  parent reply	other threads:[~2007-07-08 17:41 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-29 17:29 e1000: backport ich9 support from 7.5.5 ? Mark McLoughlin
2007-06-29 17:50 ` Jason Lunz
2007-06-29 19:51   ` Kok, Auke
2007-06-29 20:22     ` Jason Lunz
2007-06-29 20:59     ` Jeff Garzik
2007-06-30 21:24     ` Mark McLoughlin
2007-07-02 23:52       ` Williams, Mitch A
2007-07-03  0:10         ` Rick Jones
2007-07-03  0:55           ` Jason Lunz
2007-07-03  1:44             ` Kok, Auke
2007-07-03  7:15         ` Christoph Hellwig
2007-07-03 13:13           ` [E1000-devel] " Jeff Garzik
2007-06-29 20:55   ` Jeff Garzik
2007-06-29 21:39     ` Kok, Auke
2007-06-29 22:03       ` Andrew Morton
2007-06-29 22:11         ` Jeff Garzik
2007-06-29 23:24           ` RFR: New e1000 driver (e1000new), was: " Kok, Auke
2007-06-29 23:38             ` Arjan van de Ven
2007-07-08 18:20               ` Jeff Garzik
2007-07-08 20:14                 ` Arjan van de Ven
2007-07-08 22:01                   ` [E1000-devel] " Jonathan Lundell
2007-06-30  3:32             ` Roland Dreier
2007-07-08 18:20               ` Jeff Garzik
2007-07-06 19:07             ` Jeff Garzik
2007-07-07  0:13               ` Kok, Auke
2007-07-07 12:23                 ` James Chapman
2007-07-08 18:41                   ` James Chapman
2007-07-07 18:59               ` Andrew Grover
2007-06-29 23:57           ` Andrew Grover
2007-06-30  0:02             ` Andrew Grover
2007-06-30  0:09             ` Jeff Garzik
2007-06-30  1:29               ` Jim McCullough
2007-06-30  1:31                 ` Jim McCullough
2007-06-30  2:34                 ` [E1000-devel] " Kok, Auke
2007-06-30  2:31               ` Kok, Auke
2007-06-30  8:25                 ` Christoph Hellwig
2007-07-03 22:48                   ` Splitting e1000 (Was: Re: e1000: backport ich9 support from 7.5.5 ?) Kok, Auke
2007-07-05 18:32                     ` Kok, Auke
2007-07-06  0:22                     ` Jeff Garzik
2007-07-07  0:14                       ` Kok, Auke
2007-07-07 13:58                         ` James Chapman
2007-07-07 19:04                         ` Francois Romieu
2007-07-07 21:54                           ` Kok, Auke
2007-07-08  1:32                             ` Stephen Hemminger
2007-07-08 10:07                               ` James Chapman
2007-07-08 16:29                               ` Arjan van de Ven
2007-07-08 18:06                                 ` Jeff Garzik
2007-07-08 19:24                                   ` Andrew Grover
2007-07-09 17:56                                     ` Jeff Garzik
2007-07-08 20:05                                   ` Arjan van de Ven
2007-07-09 18:39                                     ` Jeff Garzik
2007-07-09 18:46                                       ` Stephen Hemminger
2007-07-09 19:36                                       ` Arjan van de Ven
2007-07-09 20:46                                       ` Kok, Auke
2007-07-09 22:26                                         ` Jeff Garzik
2007-07-13 21:45                                           ` Kok, Auke
2007-07-13 22:08                                             ` Jeff Garzik
2007-07-13 22:13                                               ` Kok, Auke
2007-07-08 18:08                               ` Jeff Garzik
2007-07-08 17:41                         ` Jeff Garzik [this message]
2007-06-30 14:31                 ` e1000: backport ich9 support from 7.5.5 ? James Chapman
2007-06-30 16:29                   ` Kok, Auke
2007-07-01 10:45                     ` James Chapman
2007-06-30  8:26             ` Christoph Hellwig
2007-06-29 22:16         ` Kok, Auke
2007-06-29 22:07       ` Jeff Garzik
2007-06-29 21:39   ` Andy Gospodarek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=469121C0.7040208@garzik.org \
    --to=jeff@garzik.org \
    --cc=akpm@linux-foundation.org \
    --cc=andy.grover@gmail.com \
    --cc=andy@greyhouse.net \
    --cc=arjan@linux.intel.com \
    --cc=auke-jan.h.kok@intel.com \
    --cc=davem@davemloft.net \
    --cc=e1000-devel@lists.sourceforge.net \
    --cc=hch@infradead.org \
    --cc=john.ronciak@intel.com \
    --cc=lunz@reflexsecurity.com \
    --cc=markmc@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=shemminger@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).