From: "Kok, Auke" <auke-jan.h.kok@intel.com>
To: Jeff Garzik <jeff@garzik.org>
Cc: Arjan van de Ven <arjan@linux.intel.com>,
"Kok, Auke" <auke-jan.h.kok@intel.com>,
Stephen Hemminger <shemminger@linux-foundation.org>,
Francois Romieu <romieu@fr.zoreil.com>,
Christoph Hellwig <hch@infradead.org>,
Andrew Grover <andy.grover@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
e1000-devel@lists.sourceforge.net, netdev@vger.kernel.org,
"Ronciak, John" <john.ronciak@intel.com>,
"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 13:46:51 -0700 [thread overview]
Message-ID: <46929EBB.3000809@intel.com> (raw)
In-Reply-To: <469280F5.8000909@garzik.org>
Jeff Garzik wrote:
> 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?).
I would strongly vote for taking a stripped down e1000new then, mask out all the
pci id's except ich9, remove all code for pre-pci-e silicon and remove the most
annoying and needlessly complexing code like the semi-implemented multiqueue
code that is in there.
How we are going to improve the internal api then can subsequently be done
upstream in steps: implement using phylib, reorganize the code. This would give
the community a view on the progress.
I fear that if I spend yet another 2 months offline working on making a minimal
ich9 driver I will lose even more time and patience: Even though the current
driver (with pre-pci-e stripped) might not be as nice as you want, at least we
can work together on it. I would rather go with something I know that works,
isn't too bad, and we have time and start reviewing upstream immediately.
> 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.
Agreed. All current e1000 pci-e hardware is based on the same mac, so it's the
logical split. The differences are PHYs and manageability, but the interface is
rather similar throughout, as well as features.
> 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.
looking at this with respect to e1000e (a pci-e only e1000 driver) - this would
make perfect sense: most of the irq and rx/tx paths are identical across the
board. So this confirms IMO that we should not split beyond this.
Auke
next prev parent reply other threads:[~2007-07-09 20:47 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 [this message]
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=46929EBB.3000809@intel.com \
--to=auke-jan.h.kok@intel.com \
--cc=akpm@linux-foundation.org \
--cc=andy.grover@gmail.com \
--cc=andy@greyhouse.net \
--cc=arjan@linux.intel.com \
--cc=davem@davemloft.net \
--cc=e1000-devel@lists.sourceforge.net \
--cc=hch@infradead.org \
--cc=jeff@garzik.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.