Received: by 10.192.165.148 with SMTP id m20csp2011956imm; Thu, 3 May 2018 08:57:38 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoxlQpD8YVOatXh0solpl7q2mgN+1t2HSMRqj/a9abGnobQUvm+rrigeAqFmWoIhxpebcgU X-Received: by 2002:a63:6584:: with SMTP id z126-v6mr12049949pgb.168.1525363058335; Thu, 03 May 2018 08:57:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525363058; cv=none; d=google.com; s=arc-20160816; b=Ig9V2rg0iJDHFV9J1yNGZNbYsckupa2HxZ5QNDKDA/trxpJraDZZf3krJPRlXk8mDY Lv+BrYtFuiCG1GstfvM47mIQOE33reVdAkIWIYZFQ+t7FdRvyY69qsUd7bqkteF6nn9Y lwBeBSgOYKfUcfIRQkDg/IaWOrsqOtlpwJRKvBxzZeDcCTh9JInm+d1Ws7xpEeCX8zoY nwMNno3y9UIBroIzXUTGIkLhIiGiYoUkGPBSDJvTgiLnOCqLE7Ep0PqimDTOdpqi3mHv 9goWYAwgod8++7iphUPEUvHZCuzkvI1WkySFNrsqtWnw1GVPULo9YsKtPqluChtWrjBu lpvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=h1YFRIvcbYvNCWSqSmpOCI6Qb4d9L4nqPVWcXymkcP0=; b=AVfYOq6fhPL0K3OtWR8Iq7ZGmdYQsT7nCgMdjwVIZbd8c/7xTueRFywZtLgtX1RF5n InEr1msqM7zjlZp0uHCF8D1CWLNDuRdKiR9s4mrOmbIbA9q+TgCESXRDc1JZDadoQuSq qTMLC3Lyskg4X02yjk+gGcWoqb3jyIotXQ6XI3Y2bj7VFtkAcdWh378LzwkQCx/258QY AYFITpsb8j879TSMMPE7lWflLfijPkcGK9rwMLgGiAu5Uho3FtqQtlgBU5xwK4W9TVXe cchTS12Vh/Oq1Nw5gF7jy0tKqDVvi/r4m4R9UlhVrhF6a3loUpnHm2RklpqBkAMSSLnA /YAg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 69-v6si14423895plc.436.2018.05.03.08.57.23; Thu, 03 May 2018 08:57:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751302AbeECP5O (ORCPT + 99 others); Thu, 3 May 2018 11:57:14 -0400 Received: from wtarreau.pck.nerim.net ([62.212.114.60]:46160 "EHLO 1wt.eu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751075AbeECP5N (ORCPT ); Thu, 3 May 2018 11:57:13 -0400 Received: (from willy@localhost) by pcw.home.local (8.15.2/8.15.2/Submit) id w43Fuw9f023368; Thu, 3 May 2018 17:56:58 +0200 Date: Thu, 3 May 2018 17:56:58 +0200 From: Willy Tarreau To: James Bottomley Cc: Sasha Levin , "ksummit-discuss@lists.linuxfoundation.org" , Greg KH , "linux-kernel@vger.kernel.org" Subject: Re: [Ksummit-discuss] bug-introducing patches Message-ID: <20180503155658.GG23311@1wt.eu> References: <20180501163818.GD1468@sasha-vm> <20180501194450.GD10479@thunk.org> <20180501200019.GA7397@sasha-vm> <20180501205448.GE10479@thunk.org> <877eol808s.fsf@intel.com> <1525357984.3225.12.camel@HansenPartnership.com> <20180503144850.GC23311@1wt.eu> <20180503150608.GM18390@sasha-vm> <1525361268.3225.17.camel@HansenPartnership.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1525361268.3225.17.camel@HansenPartnership.com> User-Agent: Mutt/1.6.1 (2016-04-27) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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