Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp18412781rwd; Tue, 27 Jun 2023 17:04:42 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4ZAV/cBHUshJw3LRqkyyVj7Rv3umoblKVitYKfK5N2rhlesGaKpvXpbnrtm5lnb4EOe0tR X-Received: by 2002:a2e:80d0:0:b0:2b5:9efc:827d with SMTP id r16-20020a2e80d0000000b002b59efc827dmr7874468ljg.29.1687910682437; Tue, 27 Jun 2023 17:04:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687910682; cv=none; d=google.com; s=arc-20160816; b=aoWJLL6gYFG1MsWmadMBvF2X3EhtrfPAO69lGHteBOndcoLKOLzTcZM/EtIk8/CQOf X0+wxpzgQdTBZvfizUuERaGSPpMCUVaZpsnwXYWxaICBbijQKj5sTbotcTdvi/f+xcmF KuKJxmXr6kBl2dautf1Fbfm9QrtedD1sySVq/mbl0Vtl+DbLwCshidxBkKb8UKS+wlbB Knp/my5u5MEDvnr9+usckZPL9WOWw2LU52+3QdtKxRE8dJHqPIS90ziXlPg2a1DSrumS 7KriGIU45MUVd8jVKpyjA0Herej0TXIQIf/TVy5wQp16mBhSnqkTc5NB/5mwJSO89daq Y79Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=tvvaWJM6WAuTNToRuWSl9qg1xmS3I7Wov+Slzp1E82U=; fh=ELvGoPf32b9ixGLpMKsQl4gfXB6/ofLeGMYu+Yb7evY=; b=ssp4xvAnKgOWIqfGRDEFtgyVYCWDqLGkmhXJLaswJz03db5AHLKEXvBTjC5BxuP4nF +AW6STAs2ShNftPh+zwMiUeBDRM0iRNEN0u5iKmNNpdkpwhMi+lclXTq97iFyfajbcVR 0emR7QqeUm75SNFvUnYWbsjPZ+TO0MKCamcgy0cDL2Bvu+TRJ5qzZeT6NwCLd6F2g2sS e7kSAnIwsihkDLNP08vAlaaIpv5dhhWVqXgz00JIHqUdgtEOftjLewzbus/0l2v+2669 7snv4Dkxtwb2J+exVeFno6V2vPrqZvzTUuWSDSjNM8I0rS/d3kc+I1dWE+x/0pWFdE2d FV/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="Qoq3/4aO"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b22-20020aa7cd16000000b0051d9ec8860csi2289164edw.263.2023.06.27.17.04.16; Tue, 27 Jun 2023 17:04:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="Qoq3/4aO"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229927AbjF0Xll (ORCPT + 99 others); Tue, 27 Jun 2023 19:41:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47896 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229488AbjF0Xlk (ORCPT ); Tue, 27 Jun 2023 19:41:40 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6446B1BE8 for ; Tue, 27 Jun 2023 16:41:39 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id ED3516121C for ; Tue, 27 Jun 2023 23:41:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 58985C433C0; Tue, 27 Jun 2023 23:41:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687909298; bh=z1GvJ00vioZSiRR1ZOMBDf0vCKBMJUK0WdI5BOEKyqE=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=Qoq3/4aOvR1Agudfp3kFnBmCUjPOWezZ5961VI2989QztAU11hldcF7le97u+dp43 94aw6uGRtqSvMw+DtPjDodqiL1TscNfFpASks2/qIwNRXRUdYTyurfcZ8Y7MkiQiem eknbZt+bh0+PFuDvMYHuiq5kgIWg4yAlvd71quLOHHglmFiy5DPhUG0ZlRBC+IAg5C yG9kbbX/Oj7Uv+In/mYI82WS0cwQ4I52ApYc8T6RxYh6LVoy5oFwHNY66zEj7E590Q eZIf6Z8b/I9GAOZq0g+LKm9DoAKb5jFCFnGAb8UzCq7h9v/6TwGocIYHPj7PVA8/v7 KeFrUa5k0OgOg== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id F0D6CCE3A0D; Tue, 27 Jun 2023 16:41:37 -0700 (PDT) Date: Tue, 27 Jun 2023 16:41:37 -0700 From: "Paul E. McKenney" To: Linus Torvalds Cc: Dinh Nguyen , Shuah Khan , linux-kernel@vger.kernel.org, linux@roeck-us.net, vishal.moola@gmail.com, akpm@linux-foundation.org, sfr@canb.auug.org.au Subject: Re: [PATCH] Revert "nios2: Convert __pte_free_tlb() to use ptdescs" Message-ID: <8a2707a4-04d3-4bcf-b1ee-9a2ef15886a0@paulmck-laptop> Reply-To: paulmck@kernel.org References: <20230627221430.464073-1-dinguyen@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 27, 2023 at 03:35:45PM -0700, Linus Torvalds wrote: > On Tue, 27 Jun 2023 at 15:14, Dinh Nguyen wrote: > > > > This reverts commit 6ebe94baa2b9ddf3ccbb7f94df6ab26234532734. > > > > The patch "nios2: Convert __pte_free_tlb() to use ptdescs" was supposed > > to go together with a patchset that Vishal Moola had planned taking it > > through the mm tree. By just having this patch, all NIOS2 builds are > > broken. > > This is now at least the third time just this merge window where some > base tree was broken, and people thought that linux-next is some kind > of testing ground for it all. > > NO! > > Linux-next is indeed for testing, and for finding situations where > there are interactions between different trees. > > But linux-next is *not* a replacement for "this tree has to work on > its own". THAT testing needs to be done independently, and *before* a > tree hits linux-next. > > It is *NOT* ok to say "this will work in combination with that other > tree". EVERY SINGLE TREE needs to work on its own, because otherwise > you cannot bisect the end result sanely. > > We apparently had the NIOS2 tree being broken. And the RCU tree was > broken. And the KUnit tree was broken. > > In all those cases, the base tree did not compile properly on its own, > and linux-next "magically fixed" it by either having Stephen Rothwell > literally fix the build breakage by hand, or by having some other tree > hide the problem. > > This is very much not ok. > > I'm not sure why it happened so much this release, but this needs to > stop. People need to realize that you can't just throw shit at the > wall and see if it sticks. You need to test your own trees *first*, > and *independently* of other peoples trees. > > Then, if you have done basic testing, you can then have it in > linux-next and that hopefully then finds any issues with bad > interactions with other trees, and maybe also ends up getting more > coverage testing on odd architectures and with odd configurations. > > But linux-next must not in *any* way be a replacement for doing basic > testing on your own tree first. On the off-chance that it helps someone else avoid my stupid mistakes, here is exactly how I messed this up so badly: 1. This API-name-change series went well, except for the usual lagging changes. This *should* not be a problem, as you simply leave the old API in however long it takes for the change to get in. 2. At some point -next was a single-argument kfree_rcu()-free zone. So I queued the offending commit on the -rcu tree's rcu/next branch, followed by a revert for my own testing. The idea was to make new uses fail in -next testing. So far, so good. 3. I noticed that -next was now free of kfree_rcu() calls. At this point, I made three stupid mistakes: a. I failed to wait for mainline itself to be free of the single-argument kfree_rcu(), thus pulling the offending single-argument kfree_rcu() removal commit into my pull request a merge window too soon. This is of course especially stupid since I tend to send you the RCU pull request early. b. I failed to identify exactly which -next commit eliminated single-argument kfree_rcu(). Had I done so, I would have seen that this was in fact Stephen's rcu/next merge commit, which was never going to go to mainline. c. Worst yet, out of force of habit, I left the revert from #2 above in my testing, thus failing to see the -rcu failure due to that remaining single-argument kfree_rcu() call. So a combination of three stupid mistakes on my part made the RCU happen. As you say, testing *exactly* the commit heading up the pull request merged with your master branch would have spotted this, and I will of course make sure that I do this in the future. And again, please accept my apologies for this mess. Thanx, Paul