Received: by 2002:a05:7412:a9a2:b0:e2:908c:2ebd with SMTP id o34csp2828926rdh; Mon, 30 Oct 2023 08:49:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEH+6bX6jsq4qpu4aF6+JRQpmHEDfFFpqNLCRVsvex0SuIzQsZZcgSbktCzXbqN63NpsJjR X-Received: by 2002:a05:6a00:938f:b0:6b9:a3d3:772a with SMTP id ka15-20020a056a00938f00b006b9a3d3772amr9811247pfb.14.1698680967126; Mon, 30 Oct 2023 08:49:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698680967; cv=none; d=google.com; s=arc-20160816; b=IAUvxqR/EnKBPUw9dnln0UPQJTM9s5eRzu0cr6hN/w0FV0bOXEP1F2OoDQtALV8Oeh OWGTYEd5wakApQ/bbV5Q3YQZWYNzEty8W7dwuTrWRpg6TpOiD5pxNgOLBHApStuhjZrU 08os31XORHwPET9V+2zguCJAOdaV2Vq4XV4Rhl6GdsjsRa4NOyCE0pssDgAaKTcLOKnF 8id/STTN3u6NIKAPL3/tjwY/O2vGlog53Q6dFTO11+y6XodAHfIMSVAAbtxVolXL6ILc bZghpLFTrR7BUYWCXzjh53a5uvfcVmoyu/vAhWDkA+2OvgGbL2uSmmRgq8Ng4KUSDpoc QcEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to :content-language:references:cc:to:subject:from:user-agent :mime-version:date:message-id; bh=cSt5+HY2P8Xg+giQxhgM6929w70rXehGMjXys132rao=; fh=OPP2HyN1g/ebIeeZIiQbubRZnYYqS1TR2q0g4RuXkxY=; b=vI4aG8XzNPBi1i/bV6/rISYsiqs1ETMwUPKXRmi6U91JdqA/nWcYT8eyyREdU9s2c5 0WYybEy4HB/1LX+2Q7Z/zgL4GyI6Y2mr0+g/OmE5Mg2uwHTdnp6ik4EAoWDVZdWqi8vc BnKQDdAaNIDM9xQA1jB7OUmy9UAyQfCj73j5q8ggg7UXrKqA9BgZZMfUZnx+19QS0gv4 /eNbdXgO6y3sUBtVRhth1bCAAJFUiI0hm9eLh/Yi74+GOeMdoUmy3xd+xGoJ6cMx6BcS WheqloA9kcc9A8Vm2eyqTOq2cFNFsYfZ/+uc1OrKHbfnFmpzS5xJShetHUU1BnQbNB9b dDow== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id e19-20020a056a001a9300b006910a45a234si5125574pfv.202.2023.10.30.08.49.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Oct 2023 08:49:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 0EC2880598AC; Mon, 30 Oct 2023 08:49:22 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233311AbjJ3PtN (ORCPT + 99 others); Mon, 30 Oct 2023 11:49:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46928 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231919AbjJ3PtM (ORCPT ); Mon, 30 Oct 2023 11:49:12 -0400 Received: from wp530.webpack.hosteurope.de (wp530.webpack.hosteurope.de [80.237.130.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B4DC3C5 for ; Mon, 30 Oct 2023 08:49:09 -0700 (PDT) Received: from [2a02:8108:8980:2478:8cde:aa2c:f324:937e]; authenticated by wp530.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) id 1qxUVm-0001ed-Q8; Mon, 30 Oct 2023 16:49:06 +0100 Message-ID: <6e9968a0-c511-4a29-aec5-42892b8254d2@leemhuis.info> Date: Mon, 30 Oct 2023 16:49:06 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Thorsten Leemhuis Subject: Re: Linux regressions report for mainline [2023-10-29] To: Linus Torvalds , Huacai Chen , Javier Martinez Canillas Cc: LKML , Linux regressions mailing list References: <169858752781.1095326.10615907253726224231@leemhuis.info> Content-Language: en-US, de-DE In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-bounce-key: webpack.hosteurope.de;regressions@leemhuis.info;1698680949;746d030f; X-HE-SMSGID: 1qxUVm-0001ed-Q8 X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Mon, 30 Oct 2023 08:49:22 -0700 (PDT) On 29.10.23 18:19, Linus Torvalds wrote: > On Sun, 29 Oct 2023 at 03:52, Regzbot (on behalf of Thorsten Leemhuis) > wrote: > >> * There was another report about a blank screen during boot on a Lenovo >> laptop because simpledrm (that users apparently had enabled without >> problems beforehand) started to support those machines due to >> 60aebc9559492c ("drivers/firmware: Move sysfb_init() from >> device_initcall to subsys_initcall_sync"). I suggested a revert, but the >> developers disagree (to quote: "From my point of view, this is not a >> regression, 60aebc9559492c doesn't cause a problem, but exposes a >> problem.") > > Honestly, "exposes a problem" is pretty much the *definition* of a > regression. So that excuse is particularly bad. > > The whole point of "regression" is "things that used to work no longer work". > > And no, "there's another bug that needs to be fixed" is _not_ the > answer - not unless you have that fix in hand. Thx for stating it so clearly. I had tried to get that point across, but failed despite some links to LKML messages from you that covered similar situations. This happens frequently, which is tiresome and draining for me. I wish we had *your* overall view on what regressions and how they are meant to be handled written up in one short text you explicitly vetted. That might give me a better lever and makes things easier for maintainers as well, especially new ones. See the text below[1] to give you a rough idea what kind of text I'm thinking of. The beginning of the merge window is a bad time to bring this up for discussion, especially when your also traveling. So I will let this rest for now and get back to you. Unless you say "that's a bad idea, don't waste your time on it". > That said, this already went into 6.5, so I'm not going to revert it > now just before the 6.6 release. That would be more dangerous than > just letting things be. Yup, fully agreed. Thx again for looking into this. Ciao, Thorsten [1] here is something I quickly complied """ Linus "no regressions rule" --------------------------- The goal ~~~~~~~~ People should always feel like they can update to a new kernel version without worrying anything might break. What qualifies as regression ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ It's a regression if some practical use case running fine with one Linux version works worse or not at all with a newer version compiled using a similar configuration. To elaborate: * The aspect "works worse" includes higher power consumption or lower performance, unless the difference is minor. * Among the things that do not qualify as "practical use case" are legacy museum style equipment, ABI/API test scripts, and microbenchmarks. * It's irrelevant if the change causing the regression only does so by exposing a problem that beforehand was silently lurking somewhere else (hardware, firmware, userland, or some other part of the kernel). * It's irrelevant if a change is fixing some undefined behavior or a bug. * It's irrelevant if users could easily avoid the problem somehow, e.g. by changing the configuration or updating some other software (this includes firmware stored in the device or shipped in the linux-firmware package). * A "similar configuration" usually means that the .config of the old kernel was taken as base for the newer one and processed with "olddefconfig". * Old and new kernel versions obviously must both be untainted vanilla kernels. How to handle regression report ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [FIXME: this section is missing for now this requires some more thought; I guess what's needed here is basically the very essence of what Documentation/process/handling-regressions.rst outlines in "Expectations and best practices for fixing regressions"] Closing words ~~~~~~~~~~~~~ Reality is never entirely black-and-white, therefore in rare cases exceptions will not be fixed. For example, sometimes it is impossible to resolve a security vulnerability without causing a regression. That being said, developers should try hard to avoid such an outcome and when unable to do so minimize the impact as much as possible. Another example: regressions only found years after the culprit was merged might be handled like regular bugs or not addressed at all, as the developers which introduced it might have moved on to other endeavors. """