Skip to contentSkip to conversation

e1000e: make E1000E default to the same kconfig setting as E1000

PATCH Applied [email protected] 5 participants 8 messages Dec 14, 2007 – Dec 15, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/10 e1000e: make E1000E default to the same kconfig setting as E1000

From: Randy Dunlap <[email protected]>

Make E1000E default to the same kconfig setting as E1000. So people's machiens don't stop working when they use oldconfig.

---

 drivers/net/Kconfig |    1 +
 1 file changed, 1 insertion(+)
drivers/net/Kconfig renamed from drivers/net/Kconfig~e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000 +1 -0
diff -puN drivers/net/Kconfig~e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000 drivers/net/Kconfig
@@ -1986,6 +1986,7 @@ config E1000_DISABLE_PACKET_SPLIT
 config E1000E
 	tristate "Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support"
 	depends on PCI
+	default E1000
 	---help---
 	  This driver supports the PCI-Express Intel(R) PRO/1000 gigabit
 	  ethernet family of adapters. For PCI or PCI-X e1000 adapters,

_

#1 lore raw
Quoted 18 lines · [email protected] wrote:

From: Randy Dunlap <[email protected]>

Make E1000E default to the same kconfig setting as E1000. So people's machiens don't stop working when they use oldconfig.

---

 drivers/net/Kconfig |    1 +
 1 file changed, 1 insertion(+)

diff -puN drivers/net/Kconfig~e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000 drivers/net/Kconfig

drivers/net/Kconfig config E1000_DISABLE_PACKET_SPLIT · line 1989

Quoted 4 lines
drivers/net/Kconfig renamed from drivers/net/Kconfig~e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000 +1 -0
@@ -1986,6 +1986,7 @@ config E1000_DISABLE_PACKET_SPLIT
 config E1000E
 	tristate "Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support"
 	depends on PCI
+	default E1000

I am not inclined to apply this one. This practice, applied over time, will tend to accumulate weird 'default' and 'select' statements.

So I think the breakage that occurs is mitigated by two factors:
1) kernel hackers that do their own configs are expected to be able to figure this stuff.
2) kernel builders (read: distros, mainly) are expected to have put thought into the Kconfig selection and driver migration strategies.

PCI IDs move across drivers from time, and we don't want to apply these sorts changes: Viewed in the long term, the suggested patch is merely a temporary change to allow kernel experts to more easily deal with the PCI ID migration across drivers.

I would prefer simply to communicate to kernel experts and builders about a Kconfig issue that could potentially their booting/networking...
because this patch is only needed if the kernel experts do not already
know about a necessary config update.

Jeff

#2 lore raw
Quoted 13 lines · Jeff Garzik
Quoted 1 line · [email protected] wrote:

From: Randy Dunlap <[email protected]>

...
So I think the breakage that occurs is mitigated by two factors:
1) kernel hackers that do their own configs are expected to be able to figure this stuff.
2) kernel builders (read: distros, mainly) are expected to have put thought into the Kconfig selection and driver migration strategies.
...
I would prefer simply to communicate to kernel experts and builders about a Kconfig issue that could potentially their booting/networking... because this patch is only needed if the kernel experts do not already know about a necessary config update.

You miss the vast majority of kconfig users:

3) system administrators etc. who for different reasons compile their own kernels but neither are nor want to be kernel developers

There's a reason why e.g. LPI requires you to be able to compile your own kernel even for getting a "Junior Level Linux Professional" certificate.

Or that one of the authors of "Linux Device drivers" has written a book covering only how to build and run your own kernel.

Quoted 1 line

Jeff

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#3 lore raw
Quoted 10 lines · Adrian Bunk
Quoted 8 lines · Jeff Garzik
Quoted 1 line · [email protected] wrote:

From: Randy Dunlap <[email protected]>

...
So I think the breakage that occurs is mitigated by two factors:
1) kernel hackers that do their own configs are expected to be able to figure this stuff.
2) kernel builders (read: distros, mainly) are expected to have put thought into the Kconfig selection and driver migration strategies.
...
I would prefer simply to communicate to kernel experts and builders about a Kconfig issue that could potentially their booting/networking... because this patch is only needed if the kernel experts do not already know about a necessary config update.

Quoted 5 lines

You miss the vast majority of kconfig users:

3) system administrators etc. who for different reasons compile their own kernels but neither are nor want to be kernel developers

There's a reason why e.g. LPI requires you to be able to compile your own kernel even for getting a "Junior Level Linux Professional" certificate.

Great!

Quoted 1 line

Or that one of the authors of "Linux Device drivers" has written a book covering only how to build and run your own kernel.

Nonetheless, it will always be true that configuring your own kernel requires knowledge of the options you are setting.

Jeff

#4 lore raw
Quoted 24 lines · Jeff Garzik
Quoted 15 lines · Adrian Bunk
Quoted 13 lines · Jeff Garzik
Quoted 1 line · [email protected] wrote:

From: Randy Dunlap <[email protected]>

...
So I think the breakage that occurs is mitigated by two factors:
1) kernel hackers that do their own configs are expected to be able to figure this stuff.
2) kernel builders (read: distros, mainly) are expected to have put thought into the Kconfig selection and driver migration strategies.
...
I would prefer simply to communicate to kernel experts and builders about a Kconfig issue that could potentially their booting/networking... because this patch is only needed if the kernel experts do not already know about a necessary config update.

Quoted 7 lines

You miss the vast majority of kconfig users:

3) system administrators etc. who for different reasons compile their own kernels but neither are nor want to be kernel developers

There's a reason why e.g. LPI requires you to be able to compile your own kernel even for getting a "Junior Level Linux Professional" certificate.

Quoted 8 lines

Great!

Quoted 2 lines

Or that one of the authors of "Linux Device drivers" has written a book covering only how to build and run your own kernel.

Nonetheless, it will always be true that configuring your own kernel requires knowledge of the options you are setting.

We are not talking about Aunt Tillie, "system administrator" is the use case that might cover this (quite diverse) group of users best.

We can expect kconfig users to know what filesystems their data is on and to have some knowledge of their hardware, but every other knowledge we must give through kconfig.

Quoted 1 line

Jeff

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#5 lore raw
In reply to Jeff Garzik
Quoted 38 lines · On Fri, 14 Dec 2007 15:39:26 -0500 Jeff Garzik <[email protected]> wrote:
Quoted 18 lines · [email protected] wrote:

From: Randy Dunlap <[email protected]>

Make E1000E default to the same kconfig setting as E1000. So people's machiens don't stop working when they use oldconfig.

---

 drivers/net/Kconfig |    1 +
 1 file changed, 1 insertion(+)

diff -puN drivers/net/Kconfig~e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000 drivers/net/Kconfig

drivers/net/Kconfig config E1000_DISABLE_PACKET_SPLIT · line 1989

Quoted 4 lines
drivers/net/Kconfig renamed from drivers/net/Kconfig~e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000 +1 -0
@@ -1986,6 +1986,7 @@ config E1000_DISABLE_PACKET_SPLIT
 config E1000E
 	tristate "Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support"
 	depends on PCI
+	default E1000

I am not inclined to apply this one. This practice, applied over time, will tend to accumulate weird 'default' and 'select' statements.

So I think the breakage that occurs is mitigated by two factors:
1) kernel hackers that do their own configs are expected to be able to figure this stuff.
2) kernel builders (read: distros, mainly) are expected to have put thought into the Kconfig selection and driver migration strategies.

PCI IDs move across drivers from time, and we don't want to apply these sorts changes: Viewed in the long term, the suggested patch is merely a temporary change to allow kernel experts to more easily deal with the PCI ID migration across drivers.

Quoted 4 lines

I would prefer simply to communicate to kernel experts and builders about a Kconfig issue that could potentially their booting/networking...
because this patch is only needed if the kernel experts do not already
know about a necessary config update.

You can take it out again later on - most people's .configs will then have
E1000E set. People who still do `cp ancientconfig .config ; make oldconfig'
remain screwed.

I dunno. I guess I'm not into causing people pain in an attempt to train them to do what we want. This is a popular driver and a *lot* of people are going to:

- build new kernel

- install new kernel

- find it doesn't work, go through quite large amounts of hassle trying to work out why it stopped working. Eventually work out that e1000 stopped working. Eventually work out that it stopped working because we forcibly switched them to a new driver which they didn't know about.

- reconfigure kernel

- rebuild, reinstall

Multiply that by 100s of people (at least). All because Jeff wouldn't apply a one-liner?

#6 lore raw
Quoted 37 lines · Andrew Morton
Quoted 33 lines · On Fri, 14 Dec 2007 15:39:26 -0500 Jeff Garzik <[email protected]> wrote:
Quoted 18 lines · [email protected] wrote:

From: Randy Dunlap <[email protected]>

Make E1000E default to the same kconfig setting as E1000. So people's machiens don't stop working when they use oldconfig.

---

 drivers/net/Kconfig |    1 +
 1 file changed, 1 insertion(+)

diff -puN drivers/net/Kconfig~e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000 drivers/net/Kconfig

drivers/net/Kconfig config E1000_DISABLE_PACKET_SPLIT · line 1990

Quoted 5 lines
drivers/net/Kconfig renamed from drivers/net/Kconfig~e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000 +1 -0
@@ -1986,6 +1986,7 @@ config E1000_DISABLE_PACKET_SPLIT
 config E1000E
 	tristate "Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support"
 	depends on PCI
+	default E1000
 

I am not inclined to apply this one. This practice, applied over time, will tend to accumulate weird 'default' and 'select' statements.

So I think the breakage that occurs is mitigated by two factors:
1) kernel hackers that do their own configs are expected to be able to figure this stuff.
2) kernel builders (read: distros, mainly) are expected to have put thought into the Kconfig selection and driver migration strategies.

PCI IDs move across drivers from time, and we don't want to apply these sorts changes: Viewed in the long term, the suggested patch is merely a temporary change to allow kernel experts to more easily deal with the PCI ID migration across drivers.

Quoted 9 lines
Quoted 4 lines

I would prefer simply to communicate to kernel experts and builders about a Kconfig issue that could potentially their booting/networking...
because this patch is only needed if the kernel experts do not already
know about a necessary config update.

You can take it out again later on - most people's .configs will then have
E1000E set. People who still do `cp ancientconfig .config ; make oldconfig'
remain screwed.

Sounds like something build system should help with. Some more user friendly syntax for dealing with issues of driver conversion.

#7 lore raw
In reply to Andrew Morton
Quoted 23 lines · Andrew Morton
Quoted 20 lines · On Fri, 14 Dec 2007 15:39:26 -0500 Jeff Garzik <[email protected]> wrote:
Quoted 5 lines · [email protected] wrote:

From: Randy Dunlap <[email protected]>

Make E1000E default to the same kconfig setting as E1000. So people's machiens don't stop working when they use oldconfig.

I am not inclined to apply this one. This practice, applied over time, will tend to accumulate weird 'default' and 'select' statements.

So I think the breakage that occurs is mitigated by two factors:
1) kernel hackers that do their own configs are expected to be able to figure this stuff.
2) kernel builders (read: distros, mainly) are expected to have put thought into the Kconfig selection and driver migration strategies.

PCI IDs move across drivers from time, and we don't want to apply these sorts changes: Viewed in the long term, the suggested patch is merely a temporary change to allow kernel experts to more easily deal with the PCI ID migration across drivers.

Quoted 8 lines
Quoted 4 lines

I would prefer simply to communicate to kernel experts and builders about a Kconfig issue that could potentially their booting/networking...
because this patch is only needed if the kernel experts do not already
know about a necessary config update.

You can take it out again later on - most people's .configs will then have
E1000E set. People who still do `cp ancientconfig .config ; make oldconfig'
remain screwed.

I was thinking the same thing. Leave it in for 2 or 3 major versions and then remove it (something analogous to the timeframe for a feature removal).

And during the interim period, add something like the following to the Kconfig help text:

Note some hardware that was previously supported by the e1000 driver is now only handled by the e1000e driver. If unsure and you previously used the e1000 driver, say Y or M here.

Quoted 8 lines

I dunno. I guess I'm not into causing people pain in an attempt to train them to do what we want. This is a popular driver and a *lot* of people are going to:

- build new kernel

- install new kernel

Quoted 8 lines

- find it doesn't work, go through quite large amounts of hassle trying to work out why it stopped working. Eventually work out that e1000 stopped working. Eventually work out that it stopped working because we forcibly switched them to a new driver which they didn't know about.

- reconfigure kernel

- rebuild, reinstall

Having been there, done that, it's definitely a pain. It's especially painful when you're doing it remotely, and since the network no longer works, you can't get into the system anymore.

Quoted 2 lines

Multiply that by 100s of people (at least). All because Jeff wouldn't apply a one-liner?

-Bill