public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Jeff Garzik <jeff@garzik.org>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@linux.intel.com>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH 00/14] convert voyager over to the x86 quirks model
Date: Mon, 20 Apr 2009 01:35:18 +0200	[thread overview]
Message-ID: <20090419233518.GA765@elte.hu> (raw)
In-Reply-To: <49E79B1E.9090405@garzik.org>


* Jeff Garzik <jeff@garzik.org> wrote:

> Ingo Molnar wrote:
>> * Ingo Molnar <mingo@elte.hu> wrote:
>>
>>> * James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
>>>
>>>>  39 files changed, 554 insertions(+), 726 deletions(-)
>>> That diffstat is not against current mainline, is it? Would you mind 
>>> to send a proper diffstat with the revert included as well? That will 
>>> give us a complete picture.
>>
>> ok, i did the calculations, and the effect of adding back x86/Voyager 
>> is roughly:
>>
>>    48 files changed, 5226 insertions(+), 142 deletions(-)
>>
>> That's quite a lot, and lets put this into perspective.
>>
>> You are talking about moving ~5000 lines of legacy code back into  
>> arch/x86/, for a total of *four* Voyager/Linux systems, which are  
>> using _ancient_ 486/P5 era CPUs.
>>
>> Two of these systems are in your house, two are somewhere unknown:  
>> their owners certainly never sent bugreports against recent mainline  
>> kernels (Voyager didnt even _build_ for a couple of straight kernel  
>> releases), and i suspect those boxes are probably decommissioned  
>> already.
>>
>> A single core on my run-of-the-mill x86 laptop has more computing  
>> power than all Voyager/Linux systems on the planet, combined. And you 
>> now want to add back support to the mainline arch/x86 code, which we 
>> are trying hard to keep running on millions of x86 Linux systems?
>>
>> You still have not given proper justification for doing that ...
>>
>> Sorry to be the one to say 'no', but the reasons you gave so far were 
>> not very convincing to me.
>>  Anyway, you seem to be willing to maintain this code it out of tree.  
>> If someone owns such an ancient Voyager box and wants to test a new  
>> kernel then your tree is a good starting point for doing that. There's 
>> really no pressing need to have this in mainline.
>
> That argument is more than a little unfair, Ingo.  Voyager support 
> used to be in mainline.

The last time it built fine upstream was v2.6.26.0. After that:

  v2.6.27.0:   Voyager was broken - it did not even build.
  v2.6.28.0:   Voyager was broken - it did not even build.
  v2.6.29-rc5: Voyager was broken - it did not even build.

... which was the point when we yanked it from the x86 devel tree.

... at which time (after i Cc:-ed James Bottomley on the yanking) he 
sent us the fix which we pulled - so v2.6.29 finally built. (But 
even up to v2.6.27 Voyager was a rocky road - with regressions and 
late fixes.)

Anyway, that long window of breakage has really proven the most 
important fact: that no user really cares about x86/Voyager anymore.

> It got yanked, and now you are adding all sorts of barriers for 
> its re-inclusion?

It got yanked due to multiple releases with problems related to the 
Voyager code - in the final ~3 development cycles it did not even 
build.

Regarding the new x86/Voyager submission: architecture or core 
kernel level code always has a higher barrier of entry than driver 
code for a number of good reasons:

 - Technical isolation between bits is not as strong (it's easy to
   slap in a new driver into drivers/ with virtually no cost to
   driver core maintainers - while arch/x86 related problems 
   interact a lot more)

 - Regressions are more difficult (and most costly) to resolve,
   and affect more people

Architecture bits have an _even higher_ barrier of entry when a 
known-problematic piece of code is re-submitted. I mean, without a 
stronger case than we have now it would be irresponsible for me to 
apply it - and James refuses to state a stronger case.

This is about the most widely used Linux architecture and we must 
keep it maintainable. We've got enough other obsolete pieces of x86 
code that we have to worry about. (We'll probably remove other 
obsolete subarchitectures as well in the future, should they prove 
similarly problematic.)

So i'm saying 'no' here, and i am NAK-ing its inclusion based on 
past patterns of breakage and based on the utter irrelevance of a 
~133 Mhz Pentium based system for which only two existing instances 
are known that have booted any recent kernel. If the code is 
absolutely trouble-free out of tree, for an equivalent amount of 
time (3 kernel releases or so), and gathers users/testers/etc., then 
we might add it, after a thorough technical review. Not sooner than 
that really. Meanwhile if James does not want to maintain it out of 
tree he can ask Linus to overrule our NAK, but i'd like to ask him 
to quote this NAK paragraph from me in his mail to Linus.

Thanks,

	Ingo

  reply	other threads:[~2009-04-19 23:36 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-14 15:51 [PATCH 00/14] convert voyager over to the x86 quirks model James Bottomley
2009-04-14 15:51 ` [PATCH 01/14] [VOYAGER] x86: add {safe,hard}_smp_processor_id to smp_ops James Bottomley
2009-04-14 15:51   ` [PATCH 02/14] [VOYAGER] x86/mca: make mca_nmi_hook external James Bottomley
2009-04-14 15:51     ` [PATCH 03/14] [VOYAGER] x86: add prefill_possible_map to x86_quirks James Bottomley
2009-04-14 15:51       ` [PATCH 04/14] [VOYAGER] x86: use boot_cpu_id instead of zero for checking boot processor James Bottomley
2009-04-14 15:51         ` [PATCH 05/14] [VOYAGER] x86/voyager: Move voyager detection to a new bootparam area James Bottomley
2009-04-14 15:51           ` [PATCH 06/14] [VOYAGER] x86: eliminate subarchitecture file setup_arch.h James Bottomley
2009-04-14 15:51             ` [PATCH 07/14] [VOYAGER] x86: eliminate subarchitecture file entry_arch.h James Bottomley
2009-04-14 15:51               ` [PATCH 08/14] [VOYAGER] x86: eliminate subarchitecture file do_timer.h James Bottomley
2009-04-14 15:51                 ` [PATCH 09/14] [VOYAGER] x86: redo irq2 cascade setup James Bottomley
2009-04-14 15:51                   ` [PATCH 10/14] [VOYAGER] x86: make disabling the apics functional instead of a flag James Bottomley
2009-04-14 15:51                     ` [PATCH 11/14] [VOYAGER] x86/Voyager: add missing QIC call function single gate James Bottomley
2009-04-14 15:51                       ` [PATCH 12/14] [VOYAGER] x86/Voyager: replace inline io area reads with readX accessors James Bottomley
2009-04-14 15:51                         ` [PATCH 13/14] [VOYAGER] x86/voyager: remove direct use of pg0 in favour of early_ioremap() James Bottomley
2009-04-14 15:51                           ` [PATCH 14/14] [VOYAGER] x86/Voyager: Plumb voyager back into the build James Bottomley
2009-04-14 17:09                     ` [PATCH 10/14] [VOYAGER] x86: make disabling the apics functional instead of a flag Cyrill Gorcunov
2009-04-14 17:44                       ` Cyrill Gorcunov
2009-04-15 12:51                         ` James Bottomley
2009-04-15 14:12                           ` Cyrill Gorcunov
2009-04-14 16:31   ` [PATCH 01/14] [VOYAGER] x86: add {safe,hard}_smp_processor_id to smp_ops Cyrill Gorcunov
2009-04-14 16:54     ` James Bottomley
2009-04-14 16:35   ` Jeremy Fitzhardinge
2009-04-14 16:57     ` James Bottomley
2009-04-14 16:27 ` [PATCH 00/14] convert voyager over to the x86 quirks model Joe Perches
2009-04-14 16:57 ` Ingo Molnar
2009-04-14 18:08   ` Ingo Molnar
2009-04-14 23:12     ` James Bottomley
2009-04-15 15:35       ` Ingo Molnar
2009-04-16 21:06         ` James Bottomley
2009-04-16 20:54     ` Jeff Garzik
2009-04-19 23:35       ` Ingo Molnar [this message]
2009-04-19 23:54         ` Jeff Garzik
2009-04-20  0:38           ` Ingo Molnar
2009-04-20 16:59         ` James Bottomley

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=20090419233518.GA765@elte.hu \
    --to=mingo@elte.hu \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=hpa@linux.intel.com \
    --cc=jeff@garzik.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@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