linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Willy Tarreau <w@1wt.eu>
Cc: Felipe Contreras <felipe.contreras@gmail.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Greg KH <gregkh@linuxfoundation.org>,
	Sergio Correia <lists@uece.net>,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
	linux-wireless Mailing List <linux-wireless@vger.kernel.org>,
	Sujith Manoharan <c_manoha@qca.qualcomm.com>,
	"ath9k-devel@lists.ath9k.org" <ath9k-devel@venema.h4ckr.net>,
	"John W. Linville" <linville@tuxdriver.com>
Subject: Re: [ 00/78] 3.3.2-stable review
Date: Mon, 16 Apr 2012 08:38:40 +0200	[thread overview]
Message-ID: <20120416063838.GA23628@gmail.com> (raw)
In-Reply-To: <20120416053911.GL27728@1wt.eu>


* Willy Tarreau <w@1wt.eu> wrote:

> It's not the user's visibility, it's published code. Once code 
> is published, you cannot magically fix it without emitting a 
> new patch for this code and announcing so that users apply it. 
> These patches are called stable releases. Users want a good 
> reason to apply these patches, rebuild and reboot, and that's 
> one reason we absolutely want to have the commit descriptions 
> from upstream which detail the exact reason for the patch 
> (even if it's a revert).

Let me also outline why reverts are important and why they are 
not just 'a patch removed'.

A revert carries valuable information: we revert a broken commit 
not just with the terse description that it's broken, but with 
an exact description about *why* it's broken and how that 
breakage relates to the original patch.

In the limited 'patch space' nothing happened: a patch was done, 
then undone.

In the Git 'commit space' the picture is very different: we have 
a commit that does a change with a justification and we have 
*another* commit that undoes the code modification with 
*another* justification.

We got richer by two justifications and the kernel got
*more stable* in the process even though no actual code
changed:

 - We very likely won't repeat this mistake again, it's 
   documented for eternity to any developer touching this
   code in the future. See Linus's arguments about 'monotonic 
   progress'. Git hashes force the causality of the real 
   physical world on us, which is *especially* useful when we 
   make mistakes and would like to use a digital time machine 
   that whitewashes our shades of grey history.

 - In practice developers tend to be more careful with code that
   sees an above average ration of reverts. It's a red flag - it 
   shows that the code, the hardware or the development process 
   maintaining that code is somehow non-obvious and fragile for 
   one reason or another.

 - In most cases a change+revert also spurs further development: 
   the original justification is likely valid and people want to
   achieve that advantage but via some other, non-broken means. 
   In that sense the revert is a persistent TODO entry as well, 
   for developers.

If the bug was just a report somewhere in a mailing list archive 
on the web then it would bitrot quickly and people would not 
have a way to find it and react to it in an organized way.

By making it a Git commit; the change, the fix and all the 
justifications around it become a permanent part of Linux - 
which is more than just 15 million lines of code ...

Thanks,

	Ingo

  reply	other threads:[~2012-04-16  6:38 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20120411231102.GA6404@kroah.com>
2012-04-11 23:59 ` [ 00/78] 3.3.2-stable review Sergio Correia
2012-04-12  0:29   ` Greg KH
2012-04-12  0:57     ` Sergio Correia
2012-04-12  1:03     ` Felipe Contreras
2012-04-12  1:13       ` Greg KH
2012-04-12 13:32         ` Felipe Contreras
2012-04-12 14:46           ` Greg KH
2012-04-12 16:49             ` Felipe Contreras
2012-04-12 17:24               ` Adrian Chadd
2012-04-12 18:43                 ` Felipe Contreras
2012-04-12 18:56                   ` Jonathan Nieder
2012-04-12 21:34                     ` Felipe Contreras
2012-04-12 21:43                       ` Willy Tarreau
2012-04-12 20:07                   ` Greg KH
2012-04-12 20:52                     ` Sven-Haegar Koch
2012-04-13  8:57                   ` Stefan Richter
2012-04-13 10:29                     ` Felipe Contreras
2012-04-13 13:42                       ` Stefan Richter
2012-04-13 14:01                         ` Stefan Richter
2012-04-13 22:38                         ` Felipe Contreras
2012-04-13 23:05                           ` Jonathan Nieder
2012-04-13 23:18                             ` Felipe Contreras
2012-04-14  5:44                               ` Willy Tarreau
2012-04-14 15:43                                 ` Felipe Contreras
2012-04-14 16:02                                   ` Willy Tarreau
2012-04-14  9:10                               ` Stefan Richter
2012-04-14 15:52                                 ` Felipe Contreras
2012-04-14 18:08                                   ` Stefan Richter
2012-04-14  7:41                           ` Stefan Richter
2012-04-14 15:29                             ` Felipe Contreras
2012-04-14 15:57                               ` Willy Tarreau
2012-04-14 19:33                                 ` Felipe Contreras
2012-04-14 19:58                                   ` Willy Tarreau
2012-04-14 17:55                               ` Stefan Richter
2012-04-14 19:21                                 ` Felipe Contreras
2012-04-14 21:21                                   ` Stefan Richter
2012-04-14 22:09                                     ` Felipe Contreras
2012-04-14 22:47                                       ` Stefan Richter
2012-04-14 22:56                                         ` Felipe Contreras
2012-04-14 23:06                                           ` Adrian Chadd
2012-04-13 19:08                       ` [ath9k-devel] " Peter Stuge
2012-04-13 22:53                         ` Felipe Contreras
2012-04-14  6:01                           ` Willy Tarreau
2012-04-16 16:27                           ` Greg KH
2012-04-16 20:11                             ` Felipe Contreras
2012-04-16 20:58                               ` Greg KH
2012-04-16 21:18                                 ` Felipe Contreras
2012-04-16 21:27                                   ` Greg KH
2012-04-16 21:44                                     ` Felipe Contreras
2012-04-16 22:34                                       ` Peter Stuge
2012-04-17  5:24                                       ` Willy Tarreau
2012-04-16 21:50                                     ` Felipe Contreras
2012-04-16 21:54                                       ` Don deJuan
2012-04-16 22:02                                       ` Don deJuan
2012-04-16 21:39                                   ` Don deJuan
2012-04-12 18:40               ` Willy Tarreau
2012-04-12 19:05               ` Linus Torvalds
2012-04-12 21:20                 ` Felipe Contreras
2012-04-12 21:34                   ` Linus Torvalds
2012-04-12 21:44                     ` Linus Torvalds
2012-04-12 22:02                       ` [ath9k-devel] " Luis R. Rodriguez
2012-04-12 22:04                     ` Felipe Contreras
2012-04-12 22:07                       ` Linus Torvalds
2012-04-12 22:29                         ` Felipe Contreras
2012-04-14 10:47                           ` Ingo Molnar
2012-04-14 15:59                             ` Felipe Contreras
2012-04-15  6:51                               ` Ingo Molnar
2012-04-15 17:15                                 ` Felipe Contreras
2012-04-15 17:29                                   ` Willy Tarreau
2012-04-15 17:49                                   ` Linus Torvalds
2012-04-15 22:12                                     ` Felipe Contreras
2012-04-16  5:32                                       ` Ingo Molnar
2012-04-16 20:25                                         ` Felipe Contreras
2012-04-16 21:08                                           ` Arend van Spriel
2012-04-16  5:39                                       ` Willy Tarreau
2012-04-16  6:38                                         ` Ingo Molnar [this message]
2012-04-12 22:12                       ` David Miller
2012-04-12 22:58                         ` Felipe Contreras
2012-04-13  5:34                           ` Willy Tarreau
2012-04-13 10:04                             ` Felipe Contreras
2012-04-12 21:39                   ` Willy Tarreau
2012-04-12 22:02                   ` Jesper Juhl
2012-04-12 19:57     ` Alexander Holler
2012-04-12 20:06       ` Greg KH
2012-04-12 20:30         ` Alexander Holler
2012-04-12 22:31           ` Greg KH
2012-04-12  4:16   ` Heinz Diehl

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=20120416063838.GA23628@gmail.com \
    --to=mingo@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=ath9k-devel@venema.h4ckr.net \
    --cc=c_manoha@qca.qualcomm.com \
    --cc=felipe.contreras@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=lists@uece.net \
    --cc=stable@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;
as well as URLs for NNTP newsgroup(s).