Message ID | 21bdc866-f9ae-4cda-a996-370bde183fd0@paulmck-laptop |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1473999vqr; Fri, 16 Jun 2023 09:40:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6ixhFulpV4hwPD6kvqdEdwnelREeDYUd9DAgOUvCNKUU1JMYVinSFTThSJ6R7sd1GZNNNO X-Received: by 2002:a17:90a:b790:b0:25e:c1ff:2cd with SMTP id m16-20020a17090ab79000b0025ec1ff02cdmr1046366pjr.30.1686933654887; Fri, 16 Jun 2023 09:40:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686933654; cv=none; d=google.com; s=arc-20160816; b=n7AfzEzMmPhnr6i1gAVO5KuJLHibX3IRriHIERHIEis+Nv6DlPZJAKOE6Clb/ibqSD q4iqydozo3HUjAG71BGz8hKCwkW6rNj2pWNFNThT6/HFLnNVs4/XkyBvrDejL2DqS/OH sljL4Cgg3rA0yABqo3f1zwUOpRW/r8dHRL5JKzQUI825h6Zm2Ee8szT1NtQbhrj1SvNo lq6RLZsa5/9wi2Smzywv9CFyRJMvu//94D2PvRny77gCAKaUokzZoTzbjBB79ieTlk5b nVYKBXajDJ/VD6fQnBknkZFrDJ8m/vtqhabf3TXUuiR18d6RtKlvaSKd++M5nyNCyJW1 32tw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-disposition:mime-version:reply-to :message-id:subject:cc:to:from:date:dkim-signature; bh=StAowCS+cdz1tiiIxQrsiMXX071fttotV0+BCAID/Rw=; b=XjSS+dqmjqzflokfac8OPbHf2HiT0gd3KmtJypgFiW58/e81gbPS9G6dKIvWK8MmrX 0uMjEAu9fSc7KpuUDmLN2SBHtQB/4ofF/oJRiAdJwy7OHP8cinbyRa4qx0VBjvyzVUMN QvVdzeSemn/l8bePVA7emnh/yuX62ihx4eKS3GlBMKiu40T6Q1quxUkuSfulDq1WMinu eWgpc2j2/Tjjj0PIC9hczqYP4ddCGISV7rr138uRJkr/qMGCxLQx+wFMkO+X+WOeQMMl KRrjHw61/JEjonHkgDbqnM76BglYanhca+NmYzmdDiisM+MLRsTK1LDPIBHLPUjbW3Bw oPfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=E1URUOUr; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s24-20020a17090aad9800b00252e51a9fbasi1886860pjq.122.2023.06.16.09.40.38; Fri, 16 Jun 2023 09:40:54 -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=E1URUOUr; 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 S1344913AbjFPQeb (ORCPT <rfc822;maxin.john@gmail.com> + 99 others); Fri, 16 Jun 2023 12:34:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55390 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232080AbjFPQe1 (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Fri, 16 Jun 2023 12:34:27 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2EC7C30F7; Fri, 16 Jun 2023 09:34:17 -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 BFFB960EA5; Fri, 16 Jun 2023 16:34:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 28108C433C8; Fri, 16 Jun 2023 16:34:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1686933256; bh=qE1OJbXrmRnZC4ivwx7brjgLHKgk/qZxmdlw3ZmqxXY=; h=Date:From:To:Cc:Subject:Reply-To:From; b=E1URUOUraeyHzD/HPBb+XiBDLh+qnt7uQJhsay356i/Ij2MF+jQaE1bBFq5h++Y8T 4KZII45WI7QrCcNBXvYaN228uIIRm1VKuMOkYKKMfblnk0ajl/dV9V+9Gs/kiTchkG emlEbg+idTJFtVRHCpbbE7clP2IEdJBQDPC22CgR08jyeoD8l94r+RdcoNtWOVAPg4 hi4/wf06lWSOvJxzpn2dN8Yw/WHuOU8YF9SP+gImQ5L8NeCnLrQEs+m0UBHBU3H14H 2UjeafmZGA0jYdtpkK3uA5E3eTcywtAc0wY1Lm/8bN+eRWupwzwlJgg96YYZFa2L4N vavFBdlMuTh3w== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id BDEF8CE0BB2; Fri, 16 Jun 2023 09:34:15 -0700 (PDT) Date: Fri, 16 Jun 2023 09:34:15 -0700 From: "Paul E. McKenney" <paulmck@kernel.org> To: torvalds@linux-foundation.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rcu@vger.kernel.org, jonathanh@nvidia.com, wenst@chromium.org, angelogioacchino.delregno@collabora.com, rafael.j.wysocki@intel.com, mirq-linux@rere.qmqm.pl, dmitry.osipenko@collabora.com, sachinp@linux.ibm.com, qiang.zhang1211@gmail.com Subject: [GIT PULL] RCU regression fix for v6.4 Message-ID: <21bdc866-f9ae-4cda-a996-370bde183fd0@paulmck-laptop> Reply-To: paulmck@kernel.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-6.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URG_BIZ 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: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768878144225132389?= X-GMAIL-MSGID: =?utf-8?q?1768878144225132389?= |
Series |
[GIT,PULL] RCU regression fix for v6.4
|
|
Pull-request
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/urgent-rcu.2023.06.11aMessage
Paul E. McKenney
June 16, 2023, 4:34 p.m. UTC
Hello, Linus, The following changes since commit ac9a78681b921877518763ba0e89202254349d1b: Linux 6.4-rc1 (2023-05-07 13:34:35 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/urgent-rcu.2023.06.11a for you to fetch changes up to de29a96acceae732c68a4094d08dc49079eefa02: notifier: Initialize new struct srcu_usage field (2023-06-07 13:42:02 -0700) ---------------------------------------------------------------- Urgent RCU pull request for v6.4 This commit fixes a spinlock-initialization regression in SRCU that causes the SRCU notifier to fail. The fix simply adds the initialization, but introduces a #ifdef because there is no spinlock to initialize for the Tiny SRCU used in !SMP builds. Yes, it would be nice to abstract this somehow in order to hide it in SRCU, but I still don't see a good way of doing this. ---------------------------------------------------------------- Chen-Yu Tsai (1): notifier: Initialize new struct srcu_usage field include/linux/notifier.h | 10 ++++++++++ 1 file changed, 10 insertions(+)
Comments
On Fri, 16 Jun 2023 at 09:34, Paul E. McKenney <paulmck@kernel.org> wrote: > > Yes, it would be nice to abstract this somehow in order to hide it in > SRCU, but I still don't see a good way of doing this. Ehh - like we actually do spinlocks in general, perhaps? Spinlocks always exist. On UP - with no spinlock debugging - it turns into a zero-sized data structure, and the spin lock/unlock operations are no-ops. Why don't you just do the exact same thing with the "struct srcu_usage". For Tiny SRCU, just make it an empty struct, with an empty initializer. IOW, don't "abstract it out". Abstract it IN. Make tiny-rcu still have it, just as a no-op. Anyway, I've pulled your fix, but maybe the above would have been the cleaner solution? Linus
The pull request you sent on Fri, 16 Jun 2023 09:34:15 -0700:
> git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/urgent-rcu.2023.06.11a
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/b73056e9f82ebdf9f5dbcd378e5e51ae95d5000c
Thank you!
On Fri, Jun 16, 2023 at 11:50:31AM -0700, Linus Torvalds wrote: > On Fri, 16 Jun 2023 at 09:34, Paul E. McKenney <paulmck@kernel.org> wrote: > > > > Yes, it would be nice to abstract this somehow in order to hide it in > > SRCU, but I still don't see a good way of doing this. > > Ehh - like we actually do spinlocks in general, perhaps? > > Spinlocks always exist. On UP - with no spinlock debugging - it turns > into a zero-sized data structure, and the spin lock/unlock operations > are no-ops. > > Why don't you just do the exact same thing with the "struct > srcu_usage". For Tiny SRCU, just make it an empty struct, with an > empty initializer. > > IOW, don't "abstract it out". Abstract it IN. Make tiny-rcu still have > it, just as a no-op. > > Anyway, I've pulled your fix, but maybe the above would have been the > cleaner solution? Good point, thank you! I will add the lock to Tiny SRCU, shooting for the v6.6 merge window. Thanx, Paul