linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Christian Kujau <lists@nerdbynature.de>,
	linux-kernel@vger.kernel.org, torvalds@linux-foundation.org
Subject: Re: [BUG] New Kernel Bugs
Date: Wed, 14 Nov 2007 03:56:31 +1100	[thread overview]
Message-ID: <200711140356.31483.nickpiggin@yahoo.com.au> (raw)
In-Reply-To: <20071113130411.26ccae12.akpm@linux-foundation.org>

rant on :) ... These aren't directed specifically at Andrew, but
everyone who merges patches or is involved in the release process.

On Wednesday 14 November 2007 08:04, Andrew Morton wrote:
> On Tue, 13 Nov 2007 21:00:30 +0100 (CET) Christian Kujau 
<lists@nerdbynature.de> wrote:
> > On Tue, 13 Nov 2007, Andrew Morton wrote:
> > > I think that we're fairly good about working the regressions in
> > > Adrian/Michal/Rafael's lists but once Linus releases 2.6.x we tend to
> > > let the unsolved ones slide, and we don't pay as much attention to the
> > > regressions which 2.6.x testers report.
> >
> > Can't we wait until all regressions[0] are fixed before releasing a new
> > 2.6.x? I'd consider regressions a *literal* show stopper, and with this
> > policy they just have be fixed, nothing would "slide"...
>
> Problem is that everyone would then sit around pumping shiny new features
> into their trees waiting until someone else fixes the regressions.

Not if you said their regression causing patches will get reverted unless it
can be fixed for release. For everyone not involved, they'll be doing their
own productive things and we don't want to stop that.


> There are a number of process things we _could_ do.  Like
>
> - have bugfix-only kernel releases

I don't know why this would be better than the above. If you are worried
about perception of released kernels, then it would actually be worse,
because the non-bugfix-only releases will get out there, and the numbering
scheme gets yet another level of complexity.

Make 2.6.24-rc3 your bugfix only release. If you argue that would make
the cycle too long, the solution is to merge less stuff in 2.6.24-rc1.


> - Just refuse to merge any non-bugfix patches for a subsystem when it is
>   determined that the subsystem has "too many" regressions.

If you don't allow regressions to build up over releases in the first
place, then this naturally gets done for you.


> - Create an "if you added a regression, you should fix some other bug
>   too" rule.

That's pretty annoying. Everybody tries not to introduce regressions.
It's just a natural part of development. You just have to make the
system work well within that constraint.

It's easy: "if you add a regression, you fix it. If it doesn't get fixed,
we either don't release or we revert your patch."

That takes care of regressions. Now for actually improving quality. I
think to do that you have to encourage code review and bug fixing.

- Take reviewers seriously, and don't allow patches to be merged if they
  have outstanding unaddressed comments (unaddressed doesn't have to mean 
  changed completely to reviewers taste, but at least answered questions
  and provided rationale). Don't merge unreviewed patches.

- Prioritise bugfixes and regression fixes. I realise they can be
  very complex changes, but I am disappointed sometimes at how some
  of my bugfix attempts are received. Things like silent and
  un-reproduceable pagecache corruption, memory ordering bugs which
  will likewise cause silent and un-reproduceable data corruption
  are totally unacceptable IMO; worse than most simple (eg. fail-stop,
  performance) regressions. To see them struggle because the patch
  isn't perfect right off the bat, they're deemed too hard, or they
  clash with some pending "feature" is a pity to me. I don't expect
  thanks or even help, but at least having some priority would help
  me stay interested and the bug to get fixed quicker.

  For a concrete example: when I did the remap_vmalloc_range() patch,
  I converted over all in-tree drivers to use the range checking and
  much safer remap_vmalloc_range. During this conversion I found
  several places where drivers were potentially inserting mappings
  wrongly or not checking user inputs properly (eg. corruption and/or
  security issues). And tried to fix them. And yet the whole patchset
  was dropped, despite being simpler and cleaner code, and attempting
  to fix bugs. Because I wasn't able to test the hardware (and/or
  maintainers didn't respond). It didn't even get a chance in -mm
  (and if it had, it probably would have been immediately dropped if
  I had a typo somewhere). Those patches are still rotting on my hdd
  somewhere... So it is actually far easier for me to shut my eyes and
  not bother reviewing any in-tree code when introducing a new API or
  something like that.
  
  And yet something like CFS basically bypasses the review and test
  process entirely and gets upstream at least a release too soon. That
  isn't anything against the technical side of CFS development, which
  I'm a lot happier with than the old scheduler. It is a problem with
  the merging and release process.

- "if you added a regression, you should fix some other bug too" rule
  should be "if you want to add a new feature, you should review a
  number of other patches". Review points can be traded. If this could
  be done right, it would create a direct economic incentive to review.

OK, the last one is my pipedream that will never happen ;) But you
should understand what can be achieved, what can't, and what will be
the most productive way to change the system.


> - probably other stuff.
>
> But we can't/shouldn't do any of that until it is generally agreed that we
> have a problem and that the problem is of sufficient magnitude that process
> changes are needed to address it.  We aren't at that stage yet.


Well I don't think I need to agree that the kernel is getting worse in
order to think there are ways we can change the system to help it get
better. We can make changes for the better without making things more
difficult for anybody, IMO.

But is the kernel getting worse? I wonder if it has anything to do with
getting further away from large distros? (and thus will get better again
during the next distro release cycle). Because I know SLES9 took a huge
amount of work to get stable. Or do you think it is getting worse since
2.6.0?


> Here's an important point: developers have a fixed amount of development
> time.  They spend some of that time fixing bugs and the rest of that time
> on <otherstuff>.  And while one could cook up all sorts of wonderful
> process changes, they all would be aimed at a single thing: shifting some
> of the developers' time away from <otherstuff> and onto bugfixing.
>
> At this stage the only tool which is being deployed to attempt to bring
> about that reprioritisation is suasion.  aka "lkml flamewar".

To summarise, I think don't actually worry about how the developers
spend their time. All you have to do is control what patches you take
and release policy. Improve the system so it tolerates regressions and
poor quality code (which are inevitable).

Review bandwidth and regression fix rate should just naturally throttle
new features / code going in. And you encourage people to do good things
rather than hit them when inevitable bad things happen.

  reply	other threads:[~2007-11-14  4:59 UTC|newest]

Thread overview: 268+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-13  6:42 [BUG] New Kernel Bugs Natalie Protasevich
2007-11-13 11:15 ` Andrew Morton
2007-11-13 11:24   ` Jens Axboe
2007-11-13 11:33   ` Evgeniy Polyakov
2007-11-13 11:39   ` David Miller
2007-11-13 11:49     ` Andrew Morton
2007-11-13 11:58       ` David Miller
2007-11-13 12:12         ` Andrew Morton
2007-11-13 12:32           ` David Miller
2007-11-13 19:02             ` Andrew Morton
2007-11-13 20:00               ` Christian Kujau
2007-11-13 21:04                 ` Andrew Morton
2007-11-13 16:56                   ` Nick Piggin [this message]
2007-11-14 19:54                     ` Linus Torvalds
2007-11-14 22:22                       ` Heikki Orsila
2007-11-14 23:05                         ` Linus Torvalds
2007-11-13 21:37                   ` Adrian Bunk
2007-11-13 21:56                   ` Christian Kujau
2007-11-15  4:07                     ` Bron Gondwana
2007-11-15  4:24                       ` Linus Torvalds
2007-11-15  5:25                         ` Bron Gondwana
2007-11-15  5:35                           ` Linus Torvalds
2007-11-15  5:53                             ` Linus Torvalds
2007-11-15 11:50                               ` mmap dirty limits on 32 bit kernels (Was: [BUG] New Kernel Bugs) Bron Gondwana
2007-11-15 16:32                                 ` Linus Torvalds
2007-11-15 19:40                                   ` Peter Zijlstra
2007-11-15 20:44                                     ` Peter Zijlstra
2007-11-15 20:56                                       ` Linus Torvalds
2007-11-15 20:59                                         ` Peter Zijlstra
2007-11-15 21:12                                           ` Peter Zijlstra
2007-11-15 21:14                                         ` Linus Torvalds
2007-11-15 21:26                                           ` Linus Torvalds
2007-11-15 21:26                                           ` Peter Zijlstra
2007-11-15 21:47                                             ` Linus Torvalds
2007-11-15 22:11                                               ` Chris Friesen
2007-11-15 22:31                                                 ` Linus Torvalds
2007-11-15 22:24                                               ` Rob Mueller
2007-11-18 23:13                                                 ` Daniel Phillips
2007-11-19  3:41                                                   ` Bron Gondwana
2007-11-16  0:48                                               ` Alan Cox
2007-11-21 21:25                                               ` Jan Engelhardt
2007-11-19  3:54                                           ` Bron Gondwana
2007-11-22  3:42                                           ` [PATCH 1/1] mm: add dirty_highmem option Bron Gondwana
2007-11-26 17:53                                             ` Linus Torvalds
2007-11-27  1:30                                               ` Bron Gondwana
2007-11-27  4:54                                             ` Andrew Morton
2007-11-27  5:24                                               ` Bron Gondwana
2007-11-27  5:53                                                 ` Andrew Morton
2007-11-27 12:10                                                   ` dirty highmem calculation sysctl name (Was: [PATCH 1/1] mm: add dirty_highmem option) Bron Gondwana
2007-11-27 13:06                                                     ` [PATCH] mm/page-writeback - highmem_is_dirtyable option (replaces dirty_highmem patch) Bron Gondwana
2007-11-21 23:51                                   ` mmap dirty limits on 32 bit kernels (Was: [BUG] New Kernel Bugs) Bron Gondwana
2007-11-22  2:16                                     ` Bron Gondwana
2007-11-13 19:32             ` [BUG] New Kernel Bugs Russell King
2007-11-13 20:13               ` Adrian Bunk
2007-11-13 23:29                 ` Russell King
2007-11-13 23:38                   ` Andrew Morton
2007-11-13 20:52               ` Andrew Morton
2007-11-13 22:18                 ` Russell King
2007-11-13 22:32                   ` Andrew Morton
2007-11-13 23:09                     ` Russell King
2007-11-13 23:17                       ` Andrew Morton
2007-11-14  1:55                     ` David Miller
2007-11-14  2:27                       ` Andrew Morton
2007-11-14  3:47                         ` David Miller
2007-11-14  8:30                         ` Russell King
2007-11-14  9:55                       ` Russell King
2007-11-14 10:07                         ` David Miller
2007-11-14 11:46                           ` [alsa-devel] " Rene Herman
2007-11-14 11:56                             ` David Miller
2007-11-14 12:01                               ` David Miller
2007-11-14  8:25                                 ` Moderated list (Was: Re: [BUG] New Kernel Bugs) Takashi Iwai
2007-11-14 12:21                                   ` Rene Herman
2007-11-14  9:47                                     ` Takashi Iwai
2007-11-14 23:23                                       ` Moderated list David Miller
2007-11-15  6:09                                         ` Rene Herman
2007-11-14 12:12                                 ` [alsa-devel] [BUG] New Kernel Bugs Rene Herman
2007-11-14 12:09                               ` Rene Herman
2007-11-15  4:16                             ` Bron Gondwana
2007-11-15  5:59                               ` Rene Herman
2007-11-15 12:02                                 ` Bron Gondwana
2007-11-15 12:26                                   ` Rene Herman
2007-11-15 13:00                                     ` Jörn Engel
2007-11-15 14:29                                       ` Rene Herman
2007-11-15 13:17                                 ` Olivier Galibert
2007-11-15  9:34                                   ` Takashi Iwai
2007-11-14 19:44                           ` Russell King
2007-11-16 22:16                           ` Use *poof* for linux-omap (Was: [BUG] New Kernel Bugs) Tony Lindgren
2007-11-17  0:45                             ` Use *poof* for linux-omap David Miller
2007-11-18 20:01                               ` Tony Lindgren
2007-11-14  5:56                   ` [BUG] New Kernel Bugs Sam Ravnborg
2007-11-14  5:59                     ` Sam Ravnborg
2007-11-14  6:13                     ` David Miller
2007-11-13 13:40           ` Ingo Molnar
2007-11-13 14:08             ` Mark Lord
2007-11-13 15:24               ` Giacomo A. Catenazzi
2007-11-13 15:57                 ` Ray Lee
2007-11-13 17:01                   ` Adrian Bunk
2007-11-13 17:50                     ` Romano Giannetti
2007-11-13 22:03                       ` Frans Pop
2007-11-13 15:52               ` Benoit Boissinot
2007-11-13 16:49                 ` Ingo Molnar
2007-11-13 17:13                 ` Theodore Tso
2007-11-13 17:30                   ` Alan Cox
2007-11-13 17:33                   ` Larry Finger
2007-11-13 18:55                     ` Theodore Tso
2007-11-13 20:07                       ` Larry Finger
2007-11-13 17:56                   ` Adrian Bunk
2007-11-13 18:57                     ` Gabriel C
2007-11-14  0:41                       ` Denys Vlasenko
2007-11-14  0:39                     ` Denys Vlasenko
2007-11-14  7:27                       ` Adrian Bunk
2007-11-14  7:46                         ` Denys Vlasenko
2007-11-14 13:30                           ` Matthew Wilcox
2007-11-14 13:35                             ` Hannes Reinecke
2007-11-14 21:39                               ` Denys Vlasenko
2007-11-14 21:58                                 ` Gabriel C
2007-11-14 18:27                           ` Kok, Auke
2007-11-14 16:55                     ` Jan Evert van Grootheest
2007-11-14 23:23                   ` Daniel Barkalow
2007-11-15 15:30                     ` Theodore Tso
2007-11-15 16:19                       ` Daniel Barkalow
2007-11-16  8:20                         ` Romano Giannetti
2007-11-16 18:20                           ` Daniel Barkalow
2007-11-16 19:46                             ` Theodore Tso
2007-11-17 12:20                               ` Adrian Bunk
2007-11-18 18:01                                 ` Theodore Tso
2007-11-13 16:46               ` Ingo Molnar
2007-11-13 17:50                 ` Mark Lord
2007-11-13 18:12                   ` Adrian Bunk
2007-11-13 18:18                     ` Mark Lord
2007-11-13 18:36                       ` Adrian Bunk
2007-11-13 18:47                         ` Mark Lord
2007-11-13 19:04                           ` Adrian Bunk
2007-11-13 19:12                             ` Mark Lord
2007-11-13 19:30                               ` Adrian Bunk
2007-11-13 19:46                                 ` Russell King
2007-11-13 20:04                                   ` Adrian Bunk
2007-11-13 19:26                             ` Mark Lord
2007-11-13 20:00                               ` Adrian Bunk
2007-11-13 20:13                                 ` Mark Lord
2007-11-13 21:20                                   ` Adrian Bunk
2007-11-13 21:12                                 ` Alan Cox
2007-11-14  0:52                                   ` Chuck Ebbert
2007-11-14  1:11                                     ` Stephen Hemminger
2007-11-14  2:10                                       ` Andrew Morton
2007-11-14  1:10                       ` David Miller
2007-11-14  1:18                         ` Peter Stuge
2007-11-13 18:17                   ` Peter Zijlstra
2007-11-13 18:39                   ` Matthew Wilcox
2007-11-13 18:43                     ` Mark Lord
2007-11-13 18:49                       ` Matthew Wilcox
2007-11-13 18:54                         ` Mark Lord
2007-11-13 22:09                           ` Rafael J. Wysocki
2007-11-14 14:30                           ` Ingo Molnar
2007-11-14 14:49                             ` Larry Finger
2007-11-18 12:44                   ` size of git repository (was Re: [BUG] New Kernel Bugs) Pavel Machek
2007-11-18 12:58                     ` Rene Herman
2007-11-18 14:35                       ` James Bottomley
2007-11-18 15:19                         ` Rene Herman
2007-11-18 14:56                     ` Ingo Molnar
2007-11-19  4:43                       ` Willy Tarreau
2007-11-13 19:37               ` [BUG] New Kernel Bugs Russell King
2007-11-13 20:18                 ` Mark Lord
2007-11-13 21:33                   ` Jörn Engel
2007-11-13 21:56                     ` Andrew Morton
2007-11-13 22:24                       ` Jörn Engel
2007-11-13 22:43                         ` Andrew Morton
2007-11-13 22:29                     ` Mark Lord
2007-11-13 23:40                   ` Russell King
2007-11-14  1:56                     ` David Miller
2007-11-14  0:34               ` Denys Vlasenko
2007-11-15  3:06                 ` Neil Brown
2007-11-13 16:55             ` Randy Dunlap
2007-11-14 14:08               ` Ingo Molnar
2007-11-14 17:38                 ` Randy Dunlap
2007-11-14 18:23                   ` J. Bruce Fields
2007-11-15  2:50                     ` Neil Brown
2007-11-16  0:05                       ` J. Bruce Fields
2007-11-14 20:16                   ` Ingo Molnar
2007-11-14 20:29                     ` Randy Dunlap
2007-11-14 20:37                       ` Ingo Molnar
2007-11-14 21:05                         ` Randy Dunlap
2007-11-14 19:56                 ` David Miller
2007-11-14 20:09                   ` James Bottomley
2007-11-14 20:54                     ` Ingo Molnar
2007-11-14 20:48                   ` Ingo Molnar
2007-11-14 21:05                     ` david
2007-11-13 11:47   ` Jarek Poplawski
2007-11-13 13:58   ` Mark Lord
2007-11-13 14:18     ` Mark Lord
2007-11-13 16:08       ` Thomas Gleixner
2007-11-13 16:07     ` Thomas Gleixner
2007-11-13 17:47       ` Mark Lord
2007-11-15 16:32         ` [BUG] Strange 1-second pauses during Resume-from-RAM Mark Lord
2007-11-15 16:49           ` Ray Lee
2007-11-15 16:51             ` Mark Lord
2007-11-15 16:53               ` Mark Lord
2007-11-15 18:14           ` Pavel Machek
2007-11-15 17:31             ` Mark Lord
2007-11-15 19:34               ` Ingo Molnar
2007-11-15 19:36                 ` Ingo Molnar
2007-11-15 22:23                   ` Mark Lord
2007-11-16  5:55                     ` Ingo Molnar
2007-11-16  7:15                       ` Ingo Molnar
2007-11-16  8:21                         ` Ingo Molnar
2007-11-16 11:23                           ` Ingo Molnar
2007-11-16 11:53                             ` Mike Galbraith
2007-11-16 12:43                             ` Ingo Molnar
2007-11-16 12:58                               ` [patch] snd hda suspend latency: shorten codec read Ingo Molnar
2007-11-16 13:31                                 ` Rafael J. Wysocki
2007-11-16 14:21                                 ` Takashi Iwai
2007-11-16 19:06                         ` [BUG] Strange 1-second pauses during Resume-from-RAM Mark Lord
2007-11-16 18:35                     ` Mark Lord
2007-11-30 20:12                     ` Mark Lord
2007-11-30 12:56                   ` Jörn Engel
2007-11-30 13:35                     ` Ingo Molnar
2007-11-30 13:43                       ` Ingo Molnar
2007-11-30 18:35                         ` Jörn Engel
2007-11-30 18:46                           ` Ingo Molnar
2007-12-01 15:16                             ` Jörn Engel
2007-12-01 18:32                               ` Ingo Molnar
2007-12-01 20:47                                 ` Jörn Engel
2007-12-01 20:54                                   ` Ingo Molnar
2007-12-01 23:41                                     ` Jörn Engel
2007-12-02  8:56                                       ` Ingo Molnar
2007-12-02 11:31                                         ` Jörn Engel
2007-12-02 12:31                                           ` Jörn Engel
2007-12-02 13:57                                             ` Ingo Molnar
2007-12-02 14:46                                             ` Jörn Engel
2007-12-02 15:44                                               ` Ingo Molnar
2007-12-02 13:57                                           ` Ingo Molnar
2007-12-02 14:11                                             ` Jörn Engel
2007-12-02 15:47                                               ` Ingo Molnar
2007-12-02 19:55                                                 ` Jörn Engel
2007-12-02 20:07                                                   ` Ingo Molnar
2007-12-02 20:30                                                     ` Jörn Engel
2007-12-02 20:45                                                       ` Ingo Molnar
2007-12-02 21:08                                                         ` Jörn Engel
2007-12-02 21:10                                                         ` Jörn Engel
2007-12-02 21:19                                                           ` Ingo Molnar
2007-12-03  0:57                                                             ` Jörn Engel
2007-12-04  0:06                                                               ` Jörn Engel
2007-12-04  9:34                                                                 ` Ingo Molnar
2007-11-30 15:49                       ` Jörn Engel
2007-11-15 20:27               ` Rafael J. Wysocki
2007-11-18 16:10           ` Mark Lord
2007-11-18 16:21             ` Ingo Molnar
2007-11-18 17:37               ` Mark Lord
2007-11-13 17:54       ` [BUG] New Kernel Bugs Mark Lord
2007-11-13 22:46         ` Thomas Gleixner
2007-11-13 23:37           ` Mark Lord
2007-11-13 18:10       ` Russell King
2007-11-13 18:25         ` Alan Cox
2007-11-13 22:34           ` Russell King
2007-11-15 20:16             ` Ben Dooks
2007-11-13 15:21   ` Bartlomiej Zolnierkiewicz
2007-11-13 15:33   ` James Bottomley
2007-11-13 16:43     ` Randy Dunlap
2007-11-13 17:46     ` Martin Bligh
2007-11-13 18:47       ` Andrew Morton
2007-11-14  5:07       ` David Miller
2007-11-13 15:36   ` Alan Cox
2007-11-13 17:49   ` Jan Kara
2007-11-13 18:04   ` Russell King
2007-11-14 12:46   ` Jiri Kosina
2007-11-14 13:24   ` Pavel Machek
2007-11-14 14:14     ` Fabio Comolli
2007-11-14 19:52     ` Russell King

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=200711140356.31483.nickpiggin@yahoo.com.au \
    --to=nickpiggin@yahoo.com.au \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lists@nerdbynature.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;
as well as URLs for NNTP newsgroup(s).