ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Willy Tarreau <w@1wt.eu>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Greg KH <gregkh@linuxfoundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"ksummit-discuss@lists.linuxfoundation.org"
	<ksummit-discuss@lists.linuxfoundation.org>
Subject: Re: [Ksummit-discuss] bug-introducing patches
Date: Thu, 03 May 2018 15:57:07 -0000	[thread overview]
Message-ID: <20180503155658.GG23311@1wt.eu> (raw)
In-Reply-To: <1525361268.3225.17.camel@HansenPartnership.com>

On Thu, May 03, 2018 at 08:27:48AM -0700, James Bottomley wrote:
> It's also a sad fact that a lot of things which look like obvious fixes
> actually turn out not to be so with later testing.  This is why the
> user visibility test is paramount.  If a bug fix has no real user
> visible effects, it's often better to defer it no matter how obvious it
> looks, which is why the static code checkers often get short shrift
> before a merge window.
> 
> A script measuring user visibility would be nice, but looks a bit
> complex ...

I totally agree with this and it matches my experience in haproxy. We
have had series of fixes that broke something else in very subtle ways
that made us want to improve non-reg, but many of the times we noted
that reg testing would hardly spot them given that the failures require
so many conditions to happen only once every million that it's hopeless.
It's just that some users are (un)lucky enough to meet all the conditions
at once very often and to be very sensitive to one error per million.

User exposure is needed. Having multiple stable release ensures everyone
gets their expected level of trust. Those on -rc want to see bugs before
they hit their users. Regressions are bad and require self-moderation and
self-estimation of the amount of trust in one's code, but they're better
in -rc than in -stable. I do happen to write some fixes I'm not totally
sure about and prefer not to backport them immediately. Users value
transparency because that helps them take safe decisions. If I say "this
is my fix, but I'd love more testing as I'm not yet sold on it", I'll get
some testers, but not the ones complaining that I broke their setup. Only
later it makes sense to progressively backport.

I have broken stable releases many times with failed backports. Almost
every time it was my fault due to incomplete testing. I could argue that
once you've built one hundred times in a week-end you're probably a bit
more lenient about next builds, or whatever. But in the end I was the
one breaking a working version. Seeing my branches picked up by Guenter
was a huge relief and it started to spot many build issues that I could
not figure myself. It doesn't make remaining bugs less important but at
least they are easier to swallow, to spot and to address.

What's not acceptable is rushed fixes that have obvious side effects that
could have been caught by closer analysis or better testing. It always
happens but it must not happen too often for the same person/subsystem.
This I think is where the line must be drawn. When Linus shouts once in
a while, it's a reminder for all others. Tune the potentiometer of his
detection threshold a bit lower and we'll get less regressions because
it's never pleasant to be called stupid in public like he does.

Willy

  parent reply	other threads:[~2018-05-03 15:57 UTC|newest]

Thread overview: 145+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-01 16:38 Sasha Levin
2018-05-01 19:44 ` Theodore Y. Ts'o
2018-05-01 20:00   ` Sasha Levin
2018-05-01 20:48     ` Willy Tarreau
2018-05-01 20:42       ` Sasha Levin
2018-05-01 20:54     ` Theodore Y. Ts'o
2018-05-01 21:15       ` Mark Brown
2018-05-02  8:11         ` Daniel Vetter
2018-05-02 19:46           ` Sasha Levin
2018-05-03  2:05             ` Mark Brown
2018-05-03  3:10               ` Theodore Y. Ts'o
2018-05-03  3:52                 ` Guenter Roeck
2018-05-03 12:03                   ` Greg KH
2018-05-03 22:42                   ` Mark Brown
2018-05-03 23:09                     ` Tony Lindgren
2018-05-04 14:21                       ` Ulf Hansson
2018-05-09  8:44                         ` Mark Brown
2018-05-09  8:47                           ` Daniel Vetter
2018-05-09  8:51                             ` Geert Uytterhoeven
2018-05-09  9:03                             ` Mark Brown
2018-05-09 10:47                               ` Stephen Rothwell
2018-05-09 10:55                                 ` Vinod Koul
2018-05-09 12:43                                   ` Stephen Rothwell
2018-05-09 12:47                                     ` Vinod Koul
2018-05-15 10:42                                     ` Krzysztof Kozlowski
2018-05-15 11:54                                       ` Stephen Rothwell
2018-05-09 14:05                                 ` Mark Brown
2018-05-09 22:09                                   ` Stephen Rothwell
2018-05-10 13:36                                     ` Mark Brown
2018-05-10 22:01                                       ` Stephen Rothwell
2018-05-09 15:57                                 ` Guenter Roeck
2018-05-09 21:45                                   ` Stephen Rothwell
2018-05-09 16:04                                 ` Dan Williams
2018-05-09 21:51                                   ` Stephen Rothwell
2018-05-09 19:35                                 ` Boris Brezillon
2018-05-09 21:58                                   ` Stephen Rothwell
2018-05-10  3:15                                 ` Sasha Levin
2018-05-10 15:57                                 ` Tony Lindgren
2018-05-10 22:05                                   ` Stephen Rothwell
2018-05-11  8:49                                 ` David Sterba
2018-05-12  4:03                                   ` Stephen Rothwell
2018-05-12  4:38                                 ` Stephen Rothwell
2018-05-12 18:34                                   ` Guenter Roeck
2018-05-13 13:53                                   ` Andy Shevchenko
2018-05-14  8:36                                 ` Ulf Hansson
2018-05-14 21:45                                   ` Stephen Rothwell
2018-05-17  5:10                                   ` Mark Brown
2018-05-10 16:03                             ` Jiri Kosina
2018-05-10 16:47                               ` Sasha Levin
2018-05-14  7:53                                 ` Geert Uytterhoeven
2018-05-14  8:00                                   ` Geert Uytterhoeven
2018-05-14  8:12                                     ` Boris Brezillon
2018-05-14  8:29                                       ` Geert Uytterhoeven
2018-05-14  8:34                                         ` Boris Brezillon
2018-05-14  8:40                                           ` Geert Uytterhoeven
2018-05-14  8:48                                             ` Boris Brezillon
2018-05-14  9:25                                               ` Fengguang Wu
2018-05-11  2:10                               ` Mark Brown
2018-05-08  2:34                       ` Sasha Levin
2018-05-08  3:48                         ` Theodore Y. Ts'o
2018-05-08 14:49                           ` Tony Lindgren
2018-05-09  8:13                             ` Mark Brown
2018-05-10 15:36                             ` Tony Lindgren
2018-05-08 20:29                           ` Sasha Levin
2018-05-08 20:40                             ` Matthew Wilcox
2018-05-08 20:55                               ` Sasha Levin
2018-05-08 21:06                                 ` David Lang
2018-05-08 21:43                                   ` Sasha Levin
2018-05-08 21:51                                     ` Dan Williams
2018-05-08 22:41                                     ` James Bottomley
2018-05-08 21:26                                 ` Justin Forbes
2018-05-08 21:08                             ` Ken Moffat
2018-05-09  4:47                             ` Willy Tarreau
2018-05-08 13:58                         ` Justin Forbes
2018-05-08  2:39                     ` Sasha Levin
2018-05-01 22:02       ` Sasha Levin
2018-05-02  4:30         ` Willy Tarreau
2018-05-02 19:42           ` Sasha Levin
2018-05-02 20:02             ` Willy Tarreau
2018-07-14 17:38               ` Pavel Machek
2018-07-14 18:37                 ` Guenter Roeck
2018-07-14 19:47                   ` Pavel Machek
2018-07-14 20:40                     ` Guenter Roeck
2018-07-14 21:09                       ` Pavel Machek
2018-07-15  5:57                         ` Willy Tarreau
2018-07-15  8:54                 ` Greg KH
2018-07-15 14:50                   ` Theodore Y. Ts'o
2018-07-15 20:15                   ` Pavel Machek
2018-05-03 11:08       ` Jani Nikula
2018-05-03 14:33         ` James Bottomley
2018-05-03 14:49           ` Willy Tarreau
2018-05-03 15:06             ` Sasha Levin
2018-05-03 15:27               ` James Bottomley
2018-05-03 15:43                 ` Sasha Levin
2018-05-03 17:17                   ` Randy Dunlap
2018-05-03 17:39                     ` Sasha Levin
2018-05-03 18:10                   ` James Bottomley
2018-05-03 15:57                 ` Willy Tarreau [this message]
2018-05-03 18:58         ` Theodore Y. Ts'o
2018-05-01 23:28     ` Stephen Rothwell
2018-05-01 23:10 ` Stephen Rothwell
2018-05-02 15:32 ` Geert Uytterhoeven
2018-05-02 19:51   ` Sasha Levin
2018-05-02 20:41     ` Geert Uytterhoeven
2018-05-03  0:06       ` Theodore Y. Ts'o
2018-05-03  0:38         ` Guenter Roeck
2018-05-03  2:30           ` Willy Tarreau
2018-05-03 14:55           ` Sasha Levin
2018-05-03 15:49             ` Guenter Roeck
2018-05-03 16:02               ` Sasha Levin
2018-05-03 16:50                 ` Justin Forbes
2018-05-03 17:09                 ` Guenter Roeck
2018-05-03 11:48         ` Al Viro
2018-05-03 14:46         ` Sasha Levin
2018-05-03 14:52           ` Willy Tarreau
2018-05-03 15:01             ` Sasha Levin
2018-05-03 16:01               ` Willy Tarreau
2018-05-03 16:15                 ` Sasha Levin
2018-05-03 16:35                   ` Willy Tarreau
2018-05-03 17:29                     ` Sasha Levin
2018-05-03 17:57                       ` Willy Tarreau
2018-05-03 18:12                         ` Sasha Levin
2018-05-03 18:46                           ` Guenter Roeck
2018-05-03 19:03                           ` Willy Tarreau
2018-05-03 16:54           ` Al Viro
2018-05-03 17:34             ` Sasha Levin
2018-05-03 18:20               ` Al Viro
2018-05-03 18:55                 ` Greg KH
2018-05-03 19:14                   ` Willy Tarreau
2018-05-03 19:17                     ` Sasha Levin
2018-05-03 19:04                 ` Sasha Levin
2018-05-04  9:57                 ` David Howells
2018-05-04 12:31                   ` Jani Nikula
2018-05-04 13:09                     ` Theodore Y. Ts'o
2018-05-04 17:40                       ` Greg KH
2018-05-04 21:13                         ` Theodore Y. Ts'o
2018-05-04 21:38                           ` James Bottomley
2018-05-04 21:51                             ` Sasha Levin
2018-05-04 23:35                               ` Theodore Y. Ts'o
2018-05-05  4:24                                 ` Willy Tarreau
2018-05-05  5:02                                   ` Eric W. Biederman
2018-05-05 16:37                                     ` Greg KH
2018-05-05  5:27                                 ` Sasha Levin
2018-05-03 11:43       ` Al Viro
2018-05-02 15:32 ` Geert Uytterhoeven

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=20180503155658.GG23311@1wt.eu \
    --to=w@1wt.eu \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.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