From patchwork Thu Dec 12 18:39:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 13905818 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 080B4223328; Thu, 12 Dec 2024 18:39:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; cv=none; b=CXWQiEzOuX9nA91aWMZTZq/5nxA5i9lD+D5P6O8fRUf1yn+ogtwlQ1Tyvzk7OnmJjZxZFeFxR6QOcKoDsONRUTBDv0r7QhoJBnvnc2d2r18Be928mFSBCyJgVoryrnDuYtojy0NuaxWxdtf/0DY6so9vRqziTEAmJ0HYmcD4acc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; c=relaxed/simple; bh=lrBecZFHohJhe5fZBGyApnmibdB5hzycxSGgrG1RZnA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=DQknrRr2GnfRkwCSm8nA6+XlNQz3YERzfBcm6lxMJZ54XGz7AMuZjhT3p3KMpPIpmpaldiOqstxeHSUFqHTaT2wgP2qbnQEYpDcOJu4hD/+JWCM2w2jBK37+KY7jCBSoI9qTZgpSPSlNZWkGSDS5yej0DDMxGQobUbMUKGDe1JA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UpnKk8Fm; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UpnKk8Fm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7BBC5C4CECE; Thu, 12 Dec 2024 18:39:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1734028777; bh=lrBecZFHohJhe5fZBGyApnmibdB5hzycxSGgrG1RZnA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UpnKk8FmlOCgHvvDyNgbpdt9yR47oapZtPN5yZF/bO806zBpJvbFXMEzq+VypkO1G 59C4XtB3K1JFLyF9TWW1UL6PaZVKp5CTRG66weHNnosp35d1A4VvJlzk7dSTzG3bLK DcQmj7sqpFDvs1Ho9LoiLVuyqz8trmVE/P0BnZshPEU1WZKNtLsJAclNpGHomwM+Ny /RiilQs+LEvLsleaj15uV9x7SJtv1wjmxrTHUJakNFU+7tsgS24yXI0Tb54Cu78eD2 +TsNYiNHPnoOXVkM6mEJRrEGqlO9VcLLREQJ5jZFTb5e/TtTswH5NdqmILwF1vDvox XvQFmp7+W+7Aw== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 3C95FCE0EE4; Thu, 12 Dec 2024 10:39:37 -0800 (PST) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, Frederic Weisbecker , "Paul E . McKenney" Subject: [PATCH rcu 1/8] rcu: Report callbacks enqueued on offline CPU blind spot Date: Thu, 12 Dec 2024 10:39:29 -0800 Message-Id: <20241212183936.1936196-1-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> References: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> Precedence: bulk X-Mailing-List: rcu@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Frederic Weisbecker Callbacks enqueued after rcutree_report_cpu_dead() fall into RCU barrier blind spot. Report any potential misuse. Reported-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker Signed-off-by: Paul E. McKenney --- kernel/rcu/tree.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index ff98233d4aa59..24f1cb292a92d 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -3084,8 +3084,11 @@ __call_rcu_common(struct rcu_head *head, rcu_callback_t func, bool lazy_in) head->func = func; head->next = NULL; kasan_record_aux_stack_noalloc(head); + local_irq_save(flags); rdp = this_cpu_ptr(&rcu_data); + RCU_LOCKDEP_WARN(!rcu_rdp_cpu_online(rdp), "Callback enqueued on offline CPU!"); + lazy = lazy_in && !rcu_async_should_hurry(); /* Add the callback to our list. */ From patchwork Thu Dec 12 18:39:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 13905819 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0804E223302; Thu, 12 Dec 2024 18:39:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; cv=none; b=RbCGvrL8pjiBvmXcp12EtfK4PvKL4pZ3jErN9GgFGvL3obaFozIPP4H1sMmxpgillBJGxfQOTg5xWvubbjULz3vC7kljo/9Gp2P3ezsDs1NZoGwY1TFxVwHkUBd9X8wbiV5mD0vzI8YALLJF1gYPI3xDTkiWZRdpAhBdGFgzj2A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; c=relaxed/simple; bh=M+u1mLkgwoFCzd2B/v6VzYBFEaWMnA5b0i8RiGmlU84=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=WENq+Q4XvAre+EI3SaXsV2+IR5RwbgTJoPWArMltpCfy1zBZOjnKfJ6Q5aHwhQRmx5L5di5nSqm+xrzGj832M+1U/mVoA5aW2vR5oWtvaj+aVyfGl/AG0i/dYt2Jlob/p21jOgXw24Hq29gTp5JYy2ql876X4uAqzYvpwKxjddI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UIbZceyJ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UIbZceyJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9AFC6C4AF0B; Thu, 12 Dec 2024 18:39:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1734028777; bh=M+u1mLkgwoFCzd2B/v6VzYBFEaWMnA5b0i8RiGmlU84=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UIbZceyJEbyeztq/36ocDD4mtOfkbvV2lUh6dodhGg1UJHlSoAJKXUShsaWqHizK0 61br0cYhr8u1bb1hvYYC7quIPijMGuAvZbjHrUJsq14qZYHPxT2bio7K2ftPmsTTsx wD2wZRc9IdwFCdLanP5hmRnw1v2WpvXmZ5bYD0jAr1PwmYkexnngBySTAeHSWnnTdu PyRIuQFRyQka79ggg6S4InzSi7CERRVQGSrZjwlO6KybH96EmfJzPgL/x7d5OiVMEz z+kTxxo/gXVmfRQ2Pdon5MbQ4KAbciSTVl65cAEkD24kJvlsRu/3KVE4sN6pLpAZ3Q owtXGT9OhLvZQ== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 3EEEECE0F78; Thu, 12 Dec 2024 10:39:37 -0800 (PST) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" , Frederic Weisbecker Subject: [PATCH rcu 2/8] rcu: Make rcu_report_exp_cpu_mult() caller acquire lock Date: Thu, 12 Dec 2024 10:39:30 -0800 Message-Id: <20241212183936.1936196-2-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> References: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> Precedence: bulk X-Mailing-List: rcu@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 There is a hard-to-trigger bug in the expedited grace-period computation whose fix requires that the __sync_rcu_exp_select_node_cpus() function to check that the grace-period sequence number has not changed before invoking rcu_report_exp_cpu_mult(). However, this check must be done while holding the leaf rcu_node structure's ->lock. This commit therefore prepares for that fix by moving this lock's acquisition from rcu_report_exp_cpu_mult() to its callers (all two of them). Signed-off-by: Paul E. McKenney Cc: Frederic Weisbecker --- kernel/rcu/tree_exp.h | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h index fb664d3a01c95..581e88d39542d 100644 --- a/kernel/rcu/tree_exp.h +++ b/kernel/rcu/tree_exp.h @@ -227,16 +227,16 @@ static void __maybe_unused rcu_report_exp_rnp(struct rcu_node *rnp, bool wake) /* * Report expedited quiescent state for multiple CPUs, all covered by the - * specified leaf rcu_node structure. + * specified leaf rcu_node structure, which is acquired by the caller. */ -static void rcu_report_exp_cpu_mult(struct rcu_node *rnp, +static void rcu_report_exp_cpu_mult(struct rcu_node *rnp, unsigned long flags, unsigned long mask, bool wake) + __releases(rnp->lock) { int cpu; - unsigned long flags; struct rcu_data *rdp; - raw_spin_lock_irqsave_rcu_node(rnp, flags); + raw_lockdep_assert_held_rcu_node(rnp); if (!(rnp->expmask & mask)) { raw_spin_unlock_irqrestore_rcu_node(rnp, flags); return; @@ -257,8 +257,12 @@ static void rcu_report_exp_cpu_mult(struct rcu_node *rnp, */ static void rcu_report_exp_rdp(struct rcu_data *rdp) { + unsigned long flags; + struct rcu_node *rnp = rdp->mynode; + WRITE_ONCE(rdp->cpu_no_qs.b.exp, false); - rcu_report_exp_cpu_mult(rdp->mynode, rdp->grpmask, true); + raw_spin_lock_irqsave_rcu_node(rnp, flags); + rcu_report_exp_cpu_mult(rnp, flags, rdp->grpmask, true); } /* Common code for work-done checking. */ @@ -432,8 +436,10 @@ static void __sync_rcu_exp_select_node_cpus(struct rcu_exp_work *rewp) raw_spin_unlock_irqrestore_rcu_node(rnp, flags); } /* Report quiescent states for those that went offline. */ - if (mask_ofl_test) - rcu_report_exp_cpu_mult(rnp, mask_ofl_test, false); + if (mask_ofl_test) { + raw_spin_lock_irqsave_rcu_node(rnp, flags); + rcu_report_exp_cpu_mult(rnp, flags, mask_ofl_test, false); + } } static void rcu_exp_sel_wait_wake(unsigned long s); From patchwork Thu Dec 12 18:39:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 13905821 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 08129223338; Thu, 12 Dec 2024 18:39:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; cv=none; b=Z0Mrn/OQmtOmUHlu6jmcUginAOX6bc6LMsh51iL9QskoDTTnbiYDD1PMzVyPkkwovFp3KrNOAHQg2KAsQbR8XL5RSec80sknaVQ/dhjppNC6lUaA0cK32AFvEf2yT5MyeE9OI9aHJ+T4HwE8C+gDfRzlABJ/+vZH3tKmfoIqboA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; c=relaxed/simple; bh=g21gc7AS//+ZO/xrObk2j3kFAlOk5t+Q2Kv//5gsaIk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=hYuHFybvYrNK/fX0C26Cwq6vhhlVQG/eyZJJBJtS5I2TisKs2w5/wX4JVLciXvcDdX6Hx9dyfc27BuuA75CLmsn72VIXffH1jGTPsAWgy2L61zrUHITkH5IN5yb//j4Gsf3h2dZ6o6rXPj1ixH8RXpbOlFqmezaVl2Cg5mBgO9A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GS8jcBO0; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="GS8jcBO0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B282DC4CED3; Thu, 12 Dec 2024 18:39:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1734028777; bh=g21gc7AS//+ZO/xrObk2j3kFAlOk5t+Q2Kv//5gsaIk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GS8jcBO0erv0QhwErxHUuNIL7jjiD1Eqf58stY6Zjvx6FqrU58OmQGcvqz8oBMmLj VAVYk+W2ASMa8AvXJJ3tMtDmwze34A5Nm8d180P0Ju0XTavJUY7xgx9eJUx/GCKtND pQTLkD+39MQG1JYHmmNfKotAO8G27Ll2CiTaCjUhdVZpL0cDwVr/YUaBjpmBZaVVKm 1xPeV/QUsgxjQd4hAxsDrU0weW4Y71/Xaa5q2cb9TOvaMLSd13G4cvflctjxTEvB3+ oqG/06v2rd8g1BodugH3vsu9G9zarKM8bi85ywZcnB5OS2q5gPuPrfgMzP/CGiIxfa 18NcDfv3JtZUQ== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 413E7CE0F9A; Thu, 12 Dec 2024 10:39:37 -0800 (PST) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" , Frederic Weisbecker Subject: [PATCH rcu 3/8] rcu: Move rcu_report_exp_rdp() setting of ->cpu_no_qs.b.exp under lock Date: Thu, 12 Dec 2024 10:39:31 -0800 Message-Id: <20241212183936.1936196-3-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> References: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> Precedence: bulk X-Mailing-List: rcu@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 This commit reduces the state space of rcu_report_exp_rdp() by moving the setting of ->cpu_no_qs.b.exp under the rcu_node structure's ->lock. The lock isn't really all that important here, given that this per-CPU field is supposed to be written only by its CPU, but the disabling of interrupts excludes things like rcu_exp_handler(), which also can write to this same field. Avoiding this sort of interleaved access reduces the state space. Signed-off-by: Paul E. McKenney Cc: Frederic Weisbecker --- kernel/rcu/tree_exp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h index 581e88d39542d..5c4ea66cc00dd 100644 --- a/kernel/rcu/tree_exp.h +++ b/kernel/rcu/tree_exp.h @@ -260,8 +260,8 @@ static void rcu_report_exp_rdp(struct rcu_data *rdp) unsigned long flags; struct rcu_node *rnp = rdp->mynode; - WRITE_ONCE(rdp->cpu_no_qs.b.exp, false); raw_spin_lock_irqsave_rcu_node(rnp, flags); + WRITE_ONCE(rdp->cpu_no_qs.b.exp, false); rcu_report_exp_cpu_mult(rnp, flags, rdp->grpmask, true); } From patchwork Thu Dec 12 18:39:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 13905817 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 07F69218594; Thu, 12 Dec 2024 18:39:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; cv=none; b=A5asaFOz89XwEOSmBJbQcRMX70MA8Ieg7sKhykcU+EJRBK6kuPKbLRO/N8mhNL/vk+laQOeeCi1awGfT/qIH1uNaI6yYNCAMLKRT5Nt+qFpBbgMDUXasuNmKN00HKSQvQ+XvAv1Wy3reeOAggVecPpS0FwGaXCNlFlriuMff/BU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; c=relaxed/simple; bh=mpb3OxMibi00zoaHZEYpEWb6uy4/muJlU71GYLvWf90=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=MhPZKeabIZRVj+5iBNtdxH1yazGl0r43thu+wX8cCUZP0uWH7MO9WR8KHQNffAbdiwaHs2Uhv3v4Dc1wRKreIqW8y55EcQPy/2VqS8daKw7bqC3Y1KBSFzzhEoNXQanx5xCMPTY4LxhtY6UAZ2jF8PvhyDE4Jev1GN9GRmwyqGo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=L2+AgoRZ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="L2+AgoRZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B5E2CC4CEDE; Thu, 12 Dec 2024 18:39:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1734028777; bh=mpb3OxMibi00zoaHZEYpEWb6uy4/muJlU71GYLvWf90=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=L2+AgoRZPL1+tZg7Sq2m8jE9SsJU4i3fW7CMWAtR1ObgdYFEYwrMRvzzgB6Yp96gt MigzXYBS8Zgfypl2bNKJmMRZ9sds1er91iEkgOWUR2gC0wis4mw+xRftF+5T4ZNQkm u1wOCgbtELJcC0j54+NYzGSAm5FHgHTfd/riZiy0K4xeBuNZM1tnUfdGS+zwqsAf0R GPZA3HyPL86NdOH4HZkag0Eny5kRrLDjEBsGqdg9F7D+lHiA1iO33tz5ecofWJBq6s F6j0TBXYKuOOr1fdqpcZ1MJiBk2nkW3Q8P2P5CnrVGXfEcHkvyoLqa3bs2q8uhRoJX 6je32rKyTJ1HQ== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 43CAFCE0FA5; Thu, 12 Dec 2024 10:39:37 -0800 (PST) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" , Frederic Weisbecker Subject: [PATCH rcu 4/8] rcu: Replace open-coded rcu_exp_need_qs() from rcu_exp_handler() with call Date: Thu, 12 Dec 2024 10:39:32 -0800 Message-Id: <20241212183936.1936196-4-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> References: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> Precedence: bulk X-Mailing-List: rcu@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Currently, the preemptible implementation of rcu_exp_handler() almost open-codes rcu_exp_need_qs(). A call to that function would be shorter and would improve expediting in cases where rcu_exp_handler() interrupted a preemption-disabled or bh-disabled region of code. This commit therefore moves rcu_exp_need_qs() out of the non-preemptible leg of the enclosing #ifdef and replaces the open coding in preemptible rcu_exp_handler() with a call to rcu_exp_need_qs(). Signed-off-by: Paul E. McKenney Cc: Frederic Weisbecker --- kernel/rcu/tree_exp.h | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h index 5c4ea66cc00dd..f3884393b9477 100644 --- a/kernel/rcu/tree_exp.h +++ b/kernel/rcu/tree_exp.h @@ -718,6 +718,16 @@ static void rcu_exp_sel_wait_wake(unsigned long s) rcu_exp_wait_wake(s); } +/* Request an expedited quiescent state. */ +static void rcu_exp_need_qs(void) +{ + __this_cpu_write(rcu_data.cpu_no_qs.b.exp, true); + /* Store .exp before .rcu_urgent_qs. */ + smp_store_release(this_cpu_ptr(&rcu_data.rcu_urgent_qs), true); + set_tsk_need_resched(current); + set_preempt_need_resched(); +} + #ifdef CONFIG_PREEMPT_RCU /* @@ -742,13 +752,10 @@ static void rcu_exp_handler(void *unused) */ if (!depth) { if (!(preempt_count() & (PREEMPT_MASK | SOFTIRQ_MASK)) || - rcu_is_cpu_rrupt_from_idle()) { + rcu_is_cpu_rrupt_from_idle()) rcu_report_exp_rdp(rdp); - } else { - WRITE_ONCE(rdp->cpu_no_qs.b.exp, true); - set_tsk_need_resched(t); - set_preempt_need_resched(); - } + else + rcu_exp_need_qs(); return; } @@ -841,16 +848,6 @@ static void rcu_exp_print_detail_task_stall_rnp(struct rcu_node *rnp) #else /* #ifdef CONFIG_PREEMPT_RCU */ -/* Request an expedited quiescent state. */ -static void rcu_exp_need_qs(void) -{ - __this_cpu_write(rcu_data.cpu_no_qs.b.exp, true); - /* Store .exp before .rcu_urgent_qs. */ - smp_store_release(this_cpu_ptr(&rcu_data.rcu_urgent_qs), true); - set_tsk_need_resched(current); - set_preempt_need_resched(); -} - /* Invoked on each online non-idle CPU for expedited quiescent state. */ static void rcu_exp_handler(void *unused) { From patchwork Thu Dec 12 18:39:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 13905820 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 07FCC222D7D; Thu, 12 Dec 2024 18:39:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; cv=none; b=a7IB86TQLkMTjDhY6c2Xkp/utickpmYimV1FA8cZ+u0g//Fh1YHvXmvFWmXUjnvsYWDtNww+qmFNNw47+5zS5J90waydoy9agaRZ6NPZLRRSe85UIc1P0w7hXsN6cUZdNNozzS79bzUqJ1hDTmDhw4xtCDgnzxlJOijInlvoh7o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; c=relaxed/simple; bh=TgGDrUo443tEAwTGGMId9ohWtXzXSJj5mgIOxRAsba4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=HWA1xcG8pbCgNTxZ8IdfjPguGPoXO62t3zw1KQA3oFaOnoOHAJLMK4iiG3/hPPMWDkNv0w7zjcd4SphhxBP/FZMcSaCG/VWzLHtyGaZhyGbNW0P3C2OE7S3jjDh0igBvUsU8CVWEe3n2MYq/EGzWf9AlSgMWfE0qRVpVsy8k3C0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZV9oNo9g; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZV9oNo9g" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BB3FCC4CEDF; Thu, 12 Dec 2024 18:39:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1734028777; bh=TgGDrUo443tEAwTGGMId9ohWtXzXSJj5mgIOxRAsba4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZV9oNo9gLzbVi3LoTTl+RQC3pqaV4iVooK5YPjTZQtIDrWY94sBELYWg+MISQLrwr f7EWBoe7iJ9rI1OfgQxEsnRYIkSVJBNj0PLvqnPmSSuUsNgzkH2P1blAt3N/H6+IaM 2aE11dOVGqCm4oxzqVKwor+qMU9xd/nK+7wUkqorDVnpJampPktQF7kFfYAzaPNUzj VFYXmZzhYDGl9g7oy3gxYn6xcQFjoRseza0h17oNesnsGoGLL5fezeOPHtJu+r58YT p5AFQXMUBO3V5JWBUJnD9VO1rVr3LcxsABPhs2iTL1EuhlpyPW1+UvjODGEvf7gGUJ 9+Y0amZ/0lseg== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 461A7CE0FA8; Thu, 12 Dec 2024 10:39:37 -0800 (PST) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" , Frederic Weisbecker Subject: [PATCH rcu 5/8] rcu: Make preemptible rcu_exp_handler() check idempotency Date: Thu, 12 Dec 2024 10:39:33 -0800 Message-Id: <20241212183936.1936196-5-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> References: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> Precedence: bulk X-Mailing-List: rcu@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Although the non-preemptible implementation of rcu_exp_handler() contains checks to enforce idempotency, the preemptible version does not. The reason for this omission is that in preemptible kernels, there is no reporting of quiescent states from CPU hotplug notifiers, and thus no need for idempotency. In theory, anyway. In practice, accidents happen. This commit therefore adds checks under WARN_ON_ONCE() to catch any such accidents. Signed-off-by: Paul E. McKenney Cc: Frederic Weisbecker --- kernel/rcu/tree_exp.h | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h index f3884393b9477..6985c998fe6b1 100644 --- a/kernel/rcu/tree_exp.h +++ b/kernel/rcu/tree_exp.h @@ -746,7 +746,19 @@ static void rcu_exp_handler(void *unused) struct task_struct *t = current; /* - * First, the common case of not being in an RCU read-side + * First, is there no need for a quiescent state from this CPU, + * or is this CPU already looking for a quiescent state for the + * current grace period? If either is the case, just leave. + * However, this should not happen due to the preemptible + * sync_sched_exp_online_cleanup() implementation being a no-op, + * so warn if this does happen. + */ + if (WARN_ON_ONCE(!(READ_ONCE(rnp->expmask) & rdp->grpmask) || + READ_ONCE(rdp->cpu_no_qs.b.exp))) + return; + + /* + * Second, the common case of not being in an RCU read-side * critical section. If also enabled or idle, immediately * report the quiescent state, otherwise defer. */ @@ -760,7 +772,7 @@ static void rcu_exp_handler(void *unused) } /* - * Second, the less-common case of being in an RCU read-side + * Third, the less-common case of being in an RCU read-side * critical section. In this case we can count on a future * rcu_read_unlock(). However, this rcu_read_unlock() might * execute on some other CPU, but in that case there will be @@ -781,7 +793,7 @@ static void rcu_exp_handler(void *unused) return; } - // Finally, negative nesting depth should not happen. + // Fourth and finally, negative nesting depth should not happen. WARN_ON_ONCE(1); } From patchwork Thu Dec 12 18:39:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 13905824 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56A4B2253E2; Thu, 12 Dec 2024 18:39:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; cv=none; b=P1Iw1YArS9a7yoLZv+9m8PGwASqEGOnRMo0tGbGc4eFEWu4awCUwLeZ0jGdVdCt7P+W79XqN2akfm1eBKw5MpL7ZBBcNXgl4nTZIi2Rqjb7ig0Pv1dBVwRz10+7cxncmQMqOhc6R5x8Lz8zGB2ZYF+50nn6xLmgBN9QIUYNJHjY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; c=relaxed/simple; bh=NPrDpbJ1EYy/FKp6+0iFszw6r20I/MKhMPqZuoOvBWo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=uqp7b1Ks3uVIp8nJm1gmC1RXxCjIj0NhueQ4PB38H9dRa036rF7WL99R21Z38Q4sMfKTi1TMStrSUVhSPL5oR5PnHYTt3yIziQ4NzAOYMZ569vwgklwHkGghXF0xaMI58e9+GL1kID7T6gpFgzYpvi17hrD2z4Hzhh1hD0URDlw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VGnfxG/m; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VGnfxG/m" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DE085C4CEE6; Thu, 12 Dec 2024 18:39:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1734028777; bh=NPrDpbJ1EYy/FKp6+0iFszw6r20I/MKhMPqZuoOvBWo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VGnfxG/miUSrtoIo2HEXANEwnjjjg6FHXGttSUbXLVeyAAlJ1VVOl+JcLiH40X7vE q1Lx3QM3rZ9XnjGNQAf/GhrI5vUC7RN4ntCmszZJYFl9O76d564cO7NdZl5kettB74 tDmAWwv1y9IrHXpfwqnKY6n7kD5R9f+uTEfyfqUuqtMEbGW4IcsdbOqqnbpf0OICLl XJYaNcfCxfQZ0ou6gmL8/2gUWSJJ6Ik1vWq7d4560aTDdi1GDJVUjFugVeNlf4ZcJh q0+ZC3yIwOvWTTkW1SF1DTti/pnk2HlwJjQ4K46SH9OqXXrtb7u+64CPjMnG3MB0zd lhf3dSFyyKYdg== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 48635CE0FF1; Thu, 12 Dec 2024 10:39:37 -0800 (PST) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" , Frederic Weisbecker Subject: [PATCH rcu 6/8] rcu: Add KCSAN exclusive-writer assertions for rdp->cpu_no_qs.b.exp Date: Thu, 12 Dec 2024 10:39:34 -0800 Message-Id: <20241212183936.1936196-6-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> References: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> Precedence: bulk X-Mailing-List: rcu@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The value of rdp->cpu_no_qs.b.exp may be changed only by the corresponding CPU, and that CPU is not even allowed to race with itself, for example, via interrupt handlers. This commit therefore adds KCSAN exclusive-writer assertions to check this constraint. Signed-off-by: Paul E. McKenney Cc: Frederic Weisbecker --- kernel/rcu/tree_exp.h | 4 ++++ kernel/rcu/tree_plugin.h | 1 + 2 files changed, 5 insertions(+) diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h index 6985c998fe6b1..ce5b09921d04e 100644 --- a/kernel/rcu/tree_exp.h +++ b/kernel/rcu/tree_exp.h @@ -262,6 +262,7 @@ static void rcu_report_exp_rdp(struct rcu_data *rdp) raw_spin_lock_irqsave_rcu_node(rnp, flags); WRITE_ONCE(rdp->cpu_no_qs.b.exp, false); + ASSERT_EXCLUSIVE_WRITER(rdp->cpu_no_qs.b.exp); rcu_report_exp_cpu_mult(rnp, flags, rdp->grpmask, true); } @@ -721,6 +722,7 @@ static void rcu_exp_sel_wait_wake(unsigned long s) /* Request an expedited quiescent state. */ static void rcu_exp_need_qs(void) { + ASSERT_EXCLUSIVE_WRITER_SCOPED(*this_cpu_ptr(&rcu_data.cpu_no_qs.b.exp)); __this_cpu_write(rcu_data.cpu_no_qs.b.exp, true); /* Store .exp before .rcu_urgent_qs. */ smp_store_release(this_cpu_ptr(&rcu_data.rcu_urgent_qs), true); @@ -753,6 +755,7 @@ static void rcu_exp_handler(void *unused) * sync_sched_exp_online_cleanup() implementation being a no-op, * so warn if this does happen. */ + ASSERT_EXCLUSIVE_WRITER_SCOPED(rdp->cpu_no_qs.b.exp); if (WARN_ON_ONCE(!(READ_ONCE(rnp->expmask) & rdp->grpmask) || READ_ONCE(rdp->cpu_no_qs.b.exp))) return; @@ -867,6 +870,7 @@ static void rcu_exp_handler(void *unused) struct rcu_node *rnp = rdp->mynode; bool preempt_bh_enabled = !(preempt_count() & (PREEMPT_MASK | SOFTIRQ_MASK)); + ASSERT_EXCLUSIVE_WRITER_SCOPED(rdp->cpu_no_qs.b.exp); if (!(READ_ONCE(rnp->expmask) & rdp->grpmask) || __this_cpu_read(rcu_data.cpu_no_qs.b.exp)) return; diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h index 3927ea5f7955c..bb7ca6eb9ef04 100644 --- a/kernel/rcu/tree_plugin.h +++ b/kernel/rcu/tree_plugin.h @@ -275,6 +275,7 @@ static void rcu_preempt_ctxt_queue(struct rcu_node *rnp, struct rcu_data *rdp) rcu_report_exp_rdp(rdp); else WARN_ON_ONCE(rdp->cpu_no_qs.b.exp); + ASSERT_EXCLUSIVE_WRITER_SCOPED(rdp->cpu_no_qs.b.exp); } /* From patchwork Thu Dec 12 18:39:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 13905822 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56AEF2253E3; Thu, 12 Dec 2024 18:39:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; cv=none; b=koyJ5Uh4dGeAs+gBA/NgPEDpIXh/4wCaYpl1Y0eEQ9sDdi8+N945I9ZJAfxjTDxRfnsK07ZRQznv8af5IlHIXqU9/9b9vDbTAecBEvjfKCkB7cqO86tRXNP0t/obBddAdTG/mgWMrsxa7rA/zYfc1s3KSdvFz1zfMMioCTP2U/s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; c=relaxed/simple; bh=ITwhtIk0AzHqLNS7JxO3Qo0sI1AR2YzCqmCP7jHMXok=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=I11mB6xW7fmpqYwaeAozyeYwc9pv8G5h1+nm4aNMibzbrbh/k7tC/ANwnCyDo6pDxpesJCJMf+v+HrJqqXnJjkYsmBxgQ+g3Q3K6l4PlSbH9y5VpiUdG/bzPjPpubpoZ30l9+4yU7qNLZMvj2UxUTOWn1/vBFKHhhM2y8vFhQH4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=U7nYw+6S; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="U7nYw+6S" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F27A9C4CED0; Thu, 12 Dec 2024 18:39:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1734028778; bh=ITwhtIk0AzHqLNS7JxO3Qo0sI1AR2YzCqmCP7jHMXok=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=U7nYw+6SR3GAoFsJEuUlwtBN9dQ/oHrG5+sFNmEDTgoVFxB/eWIEYCI5l3HeLD/Ae xB2DDA8XPFOBsi8tG3BJ3Siqdf5PgOLxVYzxqbN1q6R/bwIxnIwG37t0gQS5yARwy/ YWIdjRREQuMn3fFcsi+g8uvWRwyu0ilCNh/J1zU1txb8ho8KwEcN22E+mignX5aoeV aoTLfUe0StYTTMX2I0idWCPHADk7/l3i0vb7zEFWrOYAfbE+E8F+hhu+w6xTWxaPa8 v80zpRQyTIMEEQ3rT/iTLYOPiKkhGWBgl1rvF40Gx7yQUOkx5VpMMM6akr5dzatkol OfDu85jpayCsg== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 4ABBCCE0FF3; Thu, 12 Dec 2024 10:39:37 -0800 (PST) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" , Frederic Weisbecker Subject: [PATCH rcu 7/8] rcu: Add lockdep_assert_irqs_disabled() to rcu_exp_need_qs() Date: Thu, 12 Dec 2024 10:39:35 -0800 Message-Id: <20241212183936.1936196-7-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> References: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> Precedence: bulk X-Mailing-List: rcu@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Callers to rcu_exp_need_qs() are supposed to disable interrupts, so this commit enlists lockdep's aid in checking this. Signed-off-by: Paul E. McKenney Cc: Frederic Weisbecker --- kernel/rcu/tree_exp.h | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h index ce5b09921d04e..77efed89c79e3 100644 --- a/kernel/rcu/tree_exp.h +++ b/kernel/rcu/tree_exp.h @@ -722,6 +722,7 @@ static void rcu_exp_sel_wait_wake(unsigned long s) /* Request an expedited quiescent state. */ static void rcu_exp_need_qs(void) { + lockdep_assert_irqs_disabled(); ASSERT_EXCLUSIVE_WRITER_SCOPED(*this_cpu_ptr(&rcu_data.cpu_no_qs.b.exp)); __this_cpu_write(rcu_data.cpu_no_qs.b.exp, true); /* Store .exp before .rcu_urgent_qs. */ From patchwork Thu Dec 12 18:39:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 13905823 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56B5F2253E7; Thu, 12 Dec 2024 18:39:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; cv=none; b=KxmrtqfX+mdrG28sVn8Ye/2KQZ5q/WzVMHzFh1dls8dUtZCdKyF+67sRhN4Uqjr1htSznGI+DRgrtlnbjHdTFKbpwpCdttn6cNiVOdESOvvNzx7EcOLGNQYy7bLABV9bH5EaDMotAsi3WZncDNw+aC/8HYoAtaC4wY/dkno7eQM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734028778; c=relaxed/simple; bh=XLvD1/4PT/QkzXQlsrnPHd9H1NoHeOioidfUE/hkJUo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=bhbTT6UwKMLJwXa/u3MaJIHKqEhm0b7y1cLK1HS7wBJgfgFDHipv6VSmWCVzGRQYCXE9VjC64/CRNKhnEc3T7+mkkcY4fiEOuWhR0QU4cVw7/6Xw+KHyR+xEDc+oamxpEvt/Lgt5xczyzjl78yxp7FIaZT/JrdpkvY6IYw0QmGg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=k7tjm1NL; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="k7tjm1NL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0A3B8C4CEE5; Thu, 12 Dec 2024 18:39:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1734028778; bh=XLvD1/4PT/QkzXQlsrnPHd9H1NoHeOioidfUE/hkJUo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=k7tjm1NLOqjfsPgCJ77fUmyMXrFyD0T5t8Vt7mKJdxfyFLRpWmxD57tWL1c5Js1aR 07u5G3IxTfpWtLvgM55I5ooRDpg0UbA2SjaYiwFhQ9XJnetnzvZ7jp1DXTd71ArpvK j1dvdIT1E22ph/bUNujd5ki/e6e+IPVVlvjB+5zQe/jqeqZyTtzdysNQhgrtcvKJb6 UEUwFstpBBfSupSCnRQaeIRRNkG+i3Qi8bfMr8AznLdi3hdDQYvTkUzH1Dx7MwbRX0 vvb5jKFFyJmklHPyWPDatpzJuAT0+wBOjFF1hfMFHQd0vMtPeI1E08f7UO7j5xYsmp d4TTF8jBzPYyA== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 4D474CE109D; Thu, 12 Dec 2024 10:39:37 -0800 (PST) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" , Song Liu Subject: [PATCH rcu 8/8] MAINTAINERS: Update RCU git tree Date: Thu, 12 Dec 2024 10:39:36 -0800 Message-Id: <20241212183936.1936196-8-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> References: <928b8031-2bfe-4c90-9952-7d331e027ae3@paulmck-laptop> Precedence: bulk X-Mailing-List: rcu@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 RCU now has a shiny new shared git tree, so this commit updates MAINTAINERS to point to it instead of my personal -rcu tree. Reported-by: Song Liu Signed-off-by: Paul E. McKenney --- MAINTAINERS | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 1e930c7a58b13..d2f0f1e350554 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13299,7 +13299,7 @@ L: linux-kernel@vger.kernel.org L: linux-arch@vger.kernel.org L: lkmm@lists.linux.dev S: Supported -T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git rcu/dev F: Documentation/atomic_bitops.txt F: Documentation/atomic_t.txt F: Documentation/core-api/refcount-vs-atomic.rst @@ -19600,7 +19600,7 @@ R: Mathieu Desnoyers R: Lai Jiangshan L: rcu@vger.kernel.org S: Supported -T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git rcu/dev F: tools/testing/selftests/rcutorture RDACM20 Camera Sensor @@ -19679,7 +19679,7 @@ R: Zqiang L: rcu@vger.kernel.org S: Supported W: http://www.rdrop.com/users/paulmck/RCU/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git rcu/dev F: Documentation/RCU/ F: include/linux/rcu* F: kernel/rcu/ @@ -21575,7 +21575,7 @@ R: Mathieu Desnoyers L: rcu@vger.kernel.org S: Supported W: http://www.rdrop.com/users/paulmck/RCU/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git rcu/dev F: include/linux/srcu*.h F: kernel/rcu/srcu*.c @@ -23704,7 +23704,7 @@ M: "Paul E. McKenney" M: Josh Triplett L: linux-kernel@vger.kernel.org S: Supported -T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git rcu/dev F: Documentation/RCU/torture.rst F: kernel/locking/locktorture.c F: kernel/rcu/rcuscale.c