From: Jeff Garzik <jeff@garzik.org>
To: Arjan van de Ven <arjan@linux.intel.com>,
"Kok, Auke" <auke-jan.h.kok@intel.com>
Cc: e1000-devel@lists.sourceforge.net, netdev@vger.kernel.org,
Christoph Hellwig <hch@infradead.org>,
"Ronciak, John" <john.ronciak@intel.com>,
Andrew Grover <andy.grover@gmail.com>,
Francois Romieu <romieu@fr.zoreil.com>,
Andrew Morton <akpm@linux-foundation.org>,
Stephen Hemminger <shemminger@linux-foundation.org>,
"David S. Miller" <davem@davemloft.net>,
Andy Gospodarek <andy@greyhouse.net>
Subject: Re: Splitting e1000 (Was: Re: e1000: backport ich9 support from 7.5.5 ?)
Date: Mon, 09 Jul 2007 14:39:49 -0400 [thread overview]
Message-ID: <469280F5.8000909@garzik.org> (raw)
In-Reply-To: <46914382.8090801@linux.intel.com>
Arjan van de Ven wrote:
> Jeff Garzik wrote:
>> Is this is the attitude, what's the point of even posting the driver
>> for review? Intel posted e1000new on June 29. Feedback was then posted.
>
> and feedback is being incorperated.
>
>> Ten days later, without a single revision, Intel declares its own
>> driver clean and working and good enough for merging as-is.
>
> No. Arjan looked at driver and sees a rather clean driver compared to
> some of the other recently merged drivers, sees a list of relatively
> simple todos (some of which obviously aren't merge stoppers, others are)
> and hopes that this driver will be treated objectively without the
> appearance of having different levels of bars depending on what your
> email address ends with.
Ignoring small potatoes, the merge stoppers in my mind are:
1) Transition plan. I strongly oppose switching all e1000 users en
masse to a new driver, especially so soon. Flag day transitions to
unproven drivers suck. Defaults don't work: users use the old driver
until the default changes, which means the new driver gets little field
testing.
Regardless of my opinion of old-e1000 maintainability, top priority is
to keep users running on a stable driver until new driver is stable. I
would propose merging a new driver with only the PCI IDs not already in
the kernel, get that stable, then consider moving the rest of the
PCI-Express PCI IDs (or others?).
2) Internal API. An "it can do anything" API is a hint that the driver
should be structured differently. Perhaps a divorce between pre-PCIe
and PCIe will help things (or 8257x vs other?). I tend to think that
both e1000 and e1000new could be cleaned up substantially by such a
split. Also, specifically for PHYs, we already have a phy layer that
can be used a focal point for PHY modularity.
Overall, within minor chip revs you'll probably create standard
branches. But within major chip revs, you really should be looking at
separate code paths rather than trying to shoehorn a wide variety of
chips down the same (highly modular!) hot path. That slows down
everybody to the same speed (least common denominator), and makes it
more difficult to follow the code path for a single chip.
If the chips are sufficiently different, it is better to write two
distinct RX/TX/etc. code paths than to create a single, highly modular
yet highly dense code path. Easier to read. Easier to tune. Easier to
leave chip errata behind, as time progresses.
3) Looming over everything else, is I wonder if Intel has recognized
that a maintainership problem exists: lack of ongoing cleanups and lack
of "focus" on issues not directly related to enabling new features?
My only "bias" against Intel is that I am -nervous- that past history
will continue, with regards to the "stuff it into the driver and move
on" driver maintenance regime. Even most clean driver in the world will
fall upon hard times if under-maintained.
Receiving feedback, disappearing for months, and then reappearing with
"blessed" changes is not adequate. netdev@vger.kernel.org and
netdev-2.6.git need to be the primary vehicle for e1000[new]
development, maintained through small incremental changes streaming into
the kernel. (though I do understand the constraints of hardware
go-public release dates)
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/
next prev parent reply other threads:[~2007-07-09 18:39 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 [this message]
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
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=469280F5.8000909@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=netdev@vger.kernel.org \
--cc=romieu@fr.zoreil.com \
--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).