From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Willy Tarreau <w@1wt.eu>, David Miller <davem@davemloft.net>,
linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Jiri Slaby <jirislaby@gmail.com>
Subject: Re: Slow DOWN, please!!!
Date: Thu, 1 May 2008 13:38:33 +0200 [thread overview]
Message-ID: <200805011338.34735.rjw@sisk.pl> (raw)
In-Reply-To: <alpine.LFD.1.10.0804301831330.5994@woody.linux-foundation.org>
On Thursday, 1 of May 2008, Linus Torvalds wrote:
>
> On Wed, 30 Apr 2008, Linus Torvalds wrote:
> >
> > You (and Andrew) have tried to argue that slowing things down results in
> > better quality,
>
> Sorry, not Andrew. DavidN.
>
> Andrew argued the other way (quality->slower), which I also happen to not
> necessarily believe in, but that's a separate argument.
>
> Nobody should ever argue against raising quality.
>
> The question could be about "at what cost"? (although I think that's not
> necessarily a good argument, since I personally suspect that good quality
> code comes from _lowering_ costs, not raising them).
>
> But what's really relevant is "how?"
>
> Now, we do know that open-source code tends to be higher quality (along a
> number of metrics) than closed source code, and my argument is that it's
> not because of bike-shedding (aka code review), but simply because the
> code is out there and available and visible.
>
> And as a result of that, my personal belief is that the best way to raise
> quality of code is to distribute it. Yes, as patches for discussion, but
> even more so as a part of a cohesive whole - as _merged_ patches!
>
> The thing is, the quality of individual patches isn't what matters! What
> matters is the quality of the end result. And people are going to be a lot
> more involved in looking at, testing, and working with code that is
> merged, rather than code that isn't.
>
> So _my_ answer to the "how do we raise quality" is actually the exact
> reverse of what you guys seem to be arguing.
>
> IOW, I argue that the high speed of merging very much is a big part of
> what gives us quality in the end. It may result in bugs along the way, but
> it also results in fixes, and lots of people looking at the result (and
> looking at it in *context*, not just as a patch flying around).
And we introduce bugs that nobody sees until they appear in a CERT advisory.
IMnsHO, the quick merging results in lots of code that nobody looked at,
except for the author, nobody is looking at and nobody will _ever_ look at.
Simply, because there's no time for looking at that code, since we're
supposed to be working on preparing new code for the next merge window, testing
the already merged code etc., around the clock. Now, you may hope that this
not-looked-at-by-anyone code is of high quality nevertheless, but I somehow
doubt it.
[Note that it's not directly related to the issue at hand, which is the fact
that people affected by regressions are heavily punished by our current
process. Never mind, though.]
And that's not to mention bugs that appear in the code everybody looked at
and happily reach the mainline because that code has not been tested well
enough before merging. Take SLUB as an example, if you wish.
The fact is, we're merging stuff with minimal-to-no review and with minimal
testing reasonably possible. Is _that_ supposed to produce the high quality?
Also, I'm not buying the argument that the quality of code improves over time
just because it's open and available to everyone. That only happens to the
code which is actually looked at by someone or attempted to modify. This
obviously doesn't apply to the whole kernel code.
For this reason, IMO, we should do our best to ensure that the code being
merged is of high quality already at the moment we merge it. How to achieve
that is a separate issue.
BTW, we seem to underestimate testing in this discussion. In fact, the vast
majority of kernel bugs are discovered by testing, so perhaps the way to go
is to make regular testing of the new code a part of the process.
Thanks,
Rafael
next prev parent reply other threads:[~2008-05-01 11:38 UTC|newest]
Thread overview: 229+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-30 2:03 David Miller
2008-04-30 4:03 ` David Newall
2008-04-30 4:18 ` David Miller
2008-04-30 13:04 ` David Newall
2008-04-30 13:18 ` Michael Kerrisk
2008-04-30 14:51 ` Linus Torvalds
2008-04-30 18:21 ` David Newall
2008-04-30 18:27 ` Linus Torvalds
2008-04-30 18:55 ` David Newall
2008-04-30 19:08 ` Linus Torvalds
2008-04-30 19:16 ` David Newall
2008-04-30 19:25 ` Linus Torvalds
2008-05-01 4:31 ` David Newall
2008-05-01 4:37 ` David Miller
2008-05-01 13:49 ` Lennart Sorensen
2008-05-01 15:28 ` Kasper Sandberg
2008-05-01 17:49 ` Russ Dill
2008-05-02 1:47 ` Kasper Sandberg
2008-05-02 2:54 ` Russ Dill
2008-05-02 7:01 ` Kasper Sandberg
2008-05-02 17:34 ` Lee Mathers (TCAFS)
2008-05-02 18:21 ` Andi Kleen
2008-05-02 21:34 ` Kasper Sandberg
2008-04-30 19:06 ` Chris Friesen
2008-04-30 19:13 ` Linus Torvalds
2008-04-30 19:22 ` David Newall
2008-04-30 19:42 ` Linus Torvalds
2008-04-30 7:11 ` Tarkan Erimer
2008-04-30 13:28 ` David Newall
2008-04-30 13:38 ` Mike Galbraith
2008-04-30 14:41 ` mws
2008-04-30 14:55 ` Russ Dill
2008-04-30 14:48 ` Peter Teoh
2008-04-30 19:36 ` Rafael J. Wysocki
2008-04-30 20:00 ` Andrew Morton
2008-04-30 20:20 ` Rafael J. Wysocki
2008-04-30 20:05 ` Linus Torvalds
2008-04-30 20:14 ` Linus Torvalds
2008-04-30 20:56 ` Rafael J. Wysocki
2008-04-30 23:34 ` Greg KH
2008-04-30 20:45 ` Rafael J. Wysocki
2008-04-30 21:37 ` Linus Torvalds
2008-04-30 22:23 ` Rafael J. Wysocki
2008-04-30 22:31 ` Linus Torvalds
2008-04-30 22:41 ` Andrew Morton
2008-04-30 23:23 ` Rafael J. Wysocki
2008-04-30 23:41 ` david
2008-04-30 23:51 ` Rafael J. Wysocki
2008-05-01 0:57 ` Adrian Bunk
2008-05-01 1:25 ` Linus Torvalds
2008-05-01 2:13 ` Adrian Bunk
2008-05-01 2:30 ` Linus Torvalds
2008-05-01 18:54 ` Adrian Bunk
2008-05-14 14:55 ` Pavel Machek
2008-05-01 1:35 ` Theodore Tso
2008-05-01 12:31 ` Tarkan Erimer
2008-05-01 15:34 ` Stefan Richter
2008-05-02 14:05 ` Tarkan Erimer
2008-04-30 22:46 ` Willy Tarreau
2008-04-30 22:52 ` Andrew Morton
2008-04-30 23:21 ` Willy Tarreau
2008-04-30 23:38 ` Chris Shoemaker
2008-04-30 23:20 ` Linus Torvalds
2008-05-01 0:42 ` Rafael J. Wysocki
2008-05-01 1:19 ` Linus Torvalds
2008-05-01 1:31 ` Andrew Morton
2008-05-01 1:43 ` Linus Torvalds
2008-05-01 10:59 ` Rafael J. Wysocki
2008-05-01 15:26 ` Linus Torvalds
2008-05-01 17:09 ` Rafael J. Wysocki
2008-05-01 17:41 ` Linus Torvalds
2008-05-01 18:11 ` Al Viro
2008-05-01 18:23 ` Linus Torvalds
2008-05-01 18:30 ` Linus Torvalds
2008-05-01 18:58 ` Willy Tarreau
2008-05-01 19:37 ` Al Viro
2008-05-01 19:58 ` Andrew Morton
2008-05-01 20:07 ` Joel Becker
2008-05-01 18:50 ` Willy Tarreau
2008-05-01 19:07 ` david
2008-05-01 19:28 ` Willy Tarreau
2008-05-01 19:46 ` david
2008-05-01 19:53 ` Willy Tarreau
2008-05-01 22:17 ` Rafael J. Wysocki
2008-05-01 19:39 ` Friedrich Göpel
2008-05-01 21:59 ` Rafael J. Wysocki
2008-05-02 12:17 ` Stefan Richter
2008-05-01 18:35 ` Chris Frey
2008-05-02 13:22 ` Enrico Weigelt
2008-05-01 1:40 ` Linus Torvalds
2008-05-01 1:51 ` David Miller
2008-05-01 2:01 ` Linus Torvalds
2008-05-01 2:17 ` David Miller
2008-05-01 2:21 ` Al Viro
2008-05-01 5:19 ` david
2008-05-04 3:26 ` Rene Herman
2008-05-01 2:31 ` Nigel Cunningham
2008-05-01 18:32 ` Stephen Clark
2008-05-01 3:53 ` Frans Pop
2008-05-01 11:38 ` Rafael J. Wysocki [this message]
2008-04-30 14:28 ` Arjan van de Ven
2008-05-01 12:41 ` Rafael J. Wysocki
2008-04-30 15:06 ` Arjan van de Ven
2008-05-01 5:50 ` Willy Tarreau
2008-05-01 11:53 ` Rafael J. Wysocki
2008-05-01 12:11 ` Will Newton
2008-05-01 13:16 ` Bartlomiej Zolnierkiewicz
2008-05-01 13:53 ` Rafael J. Wysocki
2008-05-01 14:35 ` Bartlomiej Zolnierkiewicz
2008-05-01 15:29 ` Ray Lee
2008-05-01 19:03 ` Willy Tarreau
2008-05-01 19:36 ` Valdis.Kletnieks
2008-05-01 1:30 ` Jeremy Fitzhardinge
2008-05-01 5:35 ` Willy Tarreau
2008-04-30 23:03 ` Rafael J. Wysocki
2008-04-30 22:40 ` david
2008-04-30 23:45 ` Rafael J. Wysocki
2008-04-30 23:57 ` david
2008-05-01 0:01 ` Chris Shoemaker
2008-05-01 0:14 ` david
2008-05-01 0:38 ` Linus Torvalds
2008-05-01 1:39 ` Jeremy Fitzhardinge
2008-05-01 0:38 ` Adrian Bunk
2008-05-01 0:56 ` Rafael J. Wysocki
2008-05-01 1:25 ` Adrian Bunk
2008-05-01 12:05 ` Rafael J. Wysocki
2008-05-01 13:54 ` Stefan Richter
2008-05-01 14:06 ` Rafael J. Wysocki
2008-04-30 23:29 ` Paul Mackerras
2008-05-01 1:57 ` Jeff Garzik
2008-05-01 2:52 ` Frans Pop
2008-05-01 3:47 ` Linus Torvalds
2008-05-01 4:17 ` Jeff Garzik
2008-05-01 4:46 ` Linus Torvalds
2008-05-04 13:47 ` Krzysztof Halasa
2008-05-04 15:05 ` Jacek Luczak
2008-05-01 9:17 ` Alan Cox
2008-04-30 20:15 ` Andrew Morton
2008-04-30 20:31 ` Linus Torvalds
2008-04-30 20:47 ` Dan Noe
2008-04-30 20:59 ` Andrew Morton
2008-04-30 21:30 ` Rafael J. Wysocki
2008-04-30 21:37 ` Andrew Morton
2008-04-30 22:08 ` Linus Torvalds
2008-04-30 22:53 ` Mariusz Kozlowski
2008-04-30 23:11 ` Andrew Morton
2008-05-12 9:27 ` Ben Dooks
2008-05-02 10:20 ` Andi Kleen
2008-05-02 15:33 ` Mariusz Kozlowski
2008-04-30 20:54 ` Andrew Morton
2008-04-30 21:21 ` David Miller
2008-04-30 21:47 ` Rafael J. Wysocki
2008-04-30 22:02 ` Dmitri Vorobiev
2008-04-30 22:19 ` Ingo Molnar
2008-04-30 22:22 ` David Miller
2008-04-30 22:39 ` Rafael J. Wysocki
2008-04-30 22:54 ` david
2008-04-30 23:12 ` Willy Tarreau
2008-04-30 23:59 ` Rafael J. Wysocki
2008-05-01 0:15 ` Chris Shoemaker
2008-05-01 5:09 ` Willy Tarreau
2008-04-30 22:35 ` Ingo Molnar
2008-04-30 22:49 ` Andrew Morton
2008-04-30 22:51 ` David Miller
2008-05-01 1:40 ` Ingo Molnar
2008-05-01 2:48 ` Adrian Bunk
2008-05-05 3:04 ` Rusty Russell
2008-05-02 13:37 ` Helge Hafting
2008-04-30 21:42 ` Dmitri Vorobiev
2008-04-30 22:06 ` Jiri Slaby
2008-04-30 22:10 ` Andrew Morton
2008-04-30 22:19 ` Linus Torvalds
2008-04-30 22:28 ` Dmitri Vorobiev
2008-05-01 16:26 ` Diego Calleja
2008-05-01 16:31 ` Dmitri Vorobiev
2008-05-02 1:48 ` Stephen Rothwell
2008-05-01 23:06 ` Kevin Winchester
2008-04-30 23:04 ` Dmitri Vorobiev
2008-05-01 15:19 ` Jim Schutt
2008-05-01 6:15 ` Jan Engelhardt
2008-05-09 9:28 ` Jiri Kosina
2008-05-09 15:00 ` Jeff Garzik
2008-04-30 21:52 ` H. Peter Anvin
2008-05-01 3:24 ` Bob Tracy
2008-05-01 16:39 ` Valdis.Kletnieks
2008-05-01 0:31 ` RFC: starting a kernel-testers group for newbies Adrian Bunk
2008-04-30 7:03 ` Arjan van de Ven
2008-05-01 8:13 ` Andrew Morton
2008-04-30 14:15 ` Arjan van de Ven
2008-05-01 12:42 ` David Woodhouse
2008-04-30 15:02 ` Arjan van de Ven
2008-05-05 10:03 ` Benny Halevy
2008-05-04 12:45 ` Rene Herman
2008-05-04 13:00 ` Pekka Enberg
2008-05-04 13:19 ` Rene Herman
2008-05-05 13:13 ` crosscompiler [WAS: RFC: starting a kernel-testers group for newbies] Enrico Weigelt
2008-05-01 9:16 ` RFC: starting a kernel-testers group for newbies Frans Pop
2008-05-01 10:30 ` Enrico Weigelt
2008-05-01 13:02 ` Adrian Bunk
2008-05-01 11:30 ` Adrian Bunk
2008-04-30 14:20 ` Arjan van de Ven
2008-05-01 12:53 ` Rafael J. Wysocki
2008-05-01 13:21 ` Adrian Bunk
2008-05-01 15:49 ` Andrew Morton
2008-05-01 1:13 ` Arjan van de Ven
2008-05-02 9:00 ` Adrian Bunk
2008-05-01 16:38 ` Steven Rostedt
2008-05-01 17:18 ` Andrew Morton
2008-05-01 17:24 ` Theodore Tso
2008-05-01 19:26 ` Andrew Morton
2008-05-01 19:39 ` Steven Rostedt
2008-05-02 10:23 ` Andi Kleen
2008-05-02 2:08 ` Paul Mackerras
2008-05-02 3:10 ` Josh Boyer
2008-05-02 4:09 ` Paul Mackerras
2008-05-02 8:29 ` Adrian Bunk
2008-05-02 10:16 ` Paul Mackerras
2008-05-02 11:58 ` Adrian Bunk
2008-05-02 14:58 ` Linus Torvalds
2008-05-02 15:44 ` Carlos R. Mafra
2008-05-02 16:28 ` Linus Torvalds
2008-05-02 17:15 ` Carlos R. Mafra
2008-05-02 18:02 ` Pallipadi, Venkatesh
2008-05-09 16:32 ` Mark Lord
2008-05-09 19:30 ` Carlos R. Mafra
2008-05-09 20:39 ` Mark Lord
2008-05-01 0:41 ` David Miller
2008-05-01 13:23 ` Adrian Bunk
2008-04-30 20:59 Slow DOWN, please!!! devzero
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=200805011338.34735.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=jirislaby@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=w@1wt.eu \
/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
all inboxes | Powered by JetHome®