2007-12-14 20:39:41

by Jeff Garzik

[permalink] [raw]
Subject: Re: [patch 01/10] e1000e: make E1000E default to the same kconfig setting as E1000

[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.
>
> Signed-off-by: Randy Dunlap <[email protected]>
> Cc: Jeff Garzik <[email protected]>
> Cc: Auke Kok <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> ---
>
> 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
> --- a/drivers/net/Kconfig~e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000
> +++ a/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

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


2007-12-14 22:42:40

by Adrian Bunk

[permalink] [raw]
Subject: Re: [patch 01/10] e1000e: make E1000E default to the same kconfig setting as E1000

On Fri, Dec 14, 2007 at 03:39:26PM -0500, Jeff Garzik wrote:
> [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.

> Jeff

cu
Adrian

--

"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

2007-12-14 23:18:26

by Jeff Garzik

[permalink] [raw]
Subject: Re: [patch 01/10] e1000e: make E1000E default to the same kconfig setting as E1000

Adrian Bunk wrote:
> On Fri, Dec 14, 2007 at 03:39:26PM -0500, Jeff Garzik wrote:
>> [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.

Great!


> 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


2007-12-14 23:22:44

by Andrew Morton

[permalink] [raw]
Subject: Re: [patch 01/10] e1000e: make E1000E default to the same kconfig setting as E1000

On Fri, 14 Dec 2007 15:39:26 -0500
Jeff Garzik <[email protected]> wrote:

> [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.
> >
> > Signed-off-by: Randy Dunlap <[email protected]>
> > Cc: Jeff Garzik <[email protected]>
> > Cc: Auke Kok <[email protected]>
> > Signed-off-by: Andrew Morton <[email protected]>
> > ---
> >
> > 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
> > --- a/drivers/net/Kconfig~e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000
> > +++ a/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
>
> 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.

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?

2007-12-14 23:54:37

by Stephen Hemminger

[permalink] [raw]
Subject: Re: [patch 01/10] e1000e: make E1000E default to the same kconfig setting as E1000

Andrew Morton wrote:
> On Fri, 14 Dec 2007 15:39:26 -0500
> Jeff Garzik <[email protected]> wrote:
>
>
>> [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.
>>>
>>> Signed-off-by: Randy Dunlap <[email protected]>
>>> Cc: Jeff Garzik <[email protected]>
>>> Cc: Auke Kok <[email protected]>
>>> Signed-off-by: Andrew Morton <[email protected]>
>>> ---
>>>
>>> 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
>>> --- a/drivers/net/Kconfig~e1000e-make-e1000e-default-to-the-same-kconfig-setting-as-e1000
>>> +++ a/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
>>>
>> 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.
>>
>
> 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.

2007-12-15 00:02:42

by Adrian Bunk

[permalink] [raw]
Subject: Re: [patch 01/10] e1000e: make E1000E default to the same kconfig setting as E1000

On Fri, Dec 14, 2007 at 06:17:55PM -0500, Jeff Garzik wrote:
> Adrian Bunk wrote:
>> On Fri, Dec 14, 2007 at 03:39:26PM -0500, Jeff Garzik wrote:
>>> [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.
>
> Great!
>
>
>> 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.

> Jeff

cu
Adrian

--

"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

2007-12-15 04:58:24

by Bill Fink

[permalink] [raw]
Subject: Re: [patch 01/10] e1000e: make E1000E default to the same kconfig setting as E1000

On Fri, 14 Dec 2007, Andrew Morton wrote:

> On Fri, 14 Dec 2007 15:39:26 -0500
> Jeff Garzik <[email protected]> wrote:
>
> > [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.
> >
> > 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.

> 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

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.

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

-Bill