From patchwork Tue Dec 19 14:08:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 180969 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:24d3:b0:fb:cd0c:d3e with SMTP id r19csp1964221dyi; Tue, 19 Dec 2023 06:12:02 -0800 (PST) X-Google-Smtp-Source: AGHT+IHjHTXJJcQwZ3fXwQU03I7jhLgrVy4zhjUY/40UU4z6ICmTkkrLYa3GvH8hFGYeL7nOWc30 X-Received: by 2002:a81:77c3:0:b0:5de:7c46:8e3 with SMTP id s186-20020a8177c3000000b005de7c4608e3mr13143528ywc.77.1702995121877; Tue, 19 Dec 2023 06:12:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702995121; cv=none; d=google.com; s=arc-20160816; b=LsCfbzXYl88EMm1arbUf1ZjiUzU6Nj6pDOMvC7l9GmVhpyj8dppWEihSYA1V6D6z/a 0OQzWTtFVOsG6d/kDLaX/YsiIkYTKhL+JI1b5wGySzYtBSCLoW5/xhOGZUjgPTqe06tC BfaAinFcLRysOqjNy6G4YXzNziCi31IqlAPZdJ/gdJenZi7gZfx6BDx7Ik3AgLeSmErD XBarwa5dvYtzDXnM5IJCKbTA05HwcRXczKoKTpyLIXQ/aL7rIBE+uzDJ1z/x5ATz/TDt A9lhL0XSLbJFNHm6etDWmaxmipb6xpr2Wmn3D+pne7EkdzTYUb3a+UPwm4LG7uLlRSsq N5PQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=wq0d/zRMmWZ8LhH5+OvVXKNb36fLBZ5R2BHg1Oy7v+4=; fh=psqeIqQxfZek0424cL9SkYvl38GCXL3eEwRdFqkhas0=; b=fuSI5Tm+umDQg6Lh1w1y4GZMPiXN6wf2wvFP/WGfELRe+vHpeEqqmPt0bdzpOnEaLi O715Q6cEm90LXZp4jDFr9xUQ/oY7joxx6GD7gPm0ibRZAYPmCn0/zsp5Z/U4peKOXv8a DiEA3QbYAVvl0vNF6Lf8zKiofxb2SwnmEGyhegrQRVS1Jz7qGXJA7Jd05ZNTrjH/sYdr IbWjVaedPEZiL1idMld1H1nTtd102u7X3Ne3ByyuMcHJd3/NH9k1Y05UbQlJvv2c6XZd Ie8YMdVphqggmnhlg+WTns1JO+Lx3enXqNUGw45jEURLIbvQiZRAowqpitmeghTwmD9A bBdA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=WLQ12QdA; spf=pass (google.com: domain of linux-kernel+bounces-5329-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-5329-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id o186-20020a0dccc3000000b005e291c87b80si2982164ywd.419.2023.12.19.06.12.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Dec 2023 06:12:01 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-5329-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=WLQ12QdA; spf=pass (google.com: domain of linux-kernel+bounces-5329-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-5329-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 8B96B1C2427F for ; Tue, 19 Dec 2023 14:12:01 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 86DBA210E2; Tue, 19 Dec 2023 14:09:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="WLQ12QdA" X-Original-To: linux-kernel@vger.kernel.org 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 9CAD71DA45; Tue, 19 Dec 2023 14:09:05 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0DA6FC433C7; Tue, 19 Dec 2023 14:09:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1702994945; bh=gU3PXf3InJL0/GqygIvMhROsBHRcBjsl93vK7LYCfPs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WLQ12QdAcChxSMfUVcSgb8jV61xjfjpihCEHvlrkjgaW6mkff5zyXflhEVbjxp5zT ddRyrGvqWvkM1VNjjEqs7/TFfFjL4ic6lZPaJo1m/sU76KfOsTimTelYnAVeoQpQbG mInBFS35Ak19iXuLeIR8ukpIUFFDmnf8/Qv9+ljzDe1IbjIQuo44qzoyLuezmU2Woz hd/qEm5kGh8LBaXIPH3lwfkT8tXISwSSaXE0rjMIBZ/vyo5UNd6a/xzOwwTHsOIBfP rVeZkJp8XHWroyHOZWEDw7+ixId/ov8I66iOIdhd6+PuNywtwnZVn0MTTHoX+dnXy3 Uy3SsgfEbl8mQ== From: Frederic Weisbecker To: LKML Cc: Frederic Weisbecker , Boqun Feng , Joel Fernandes , Neeraj Upadhyay , "Paul E . McKenney" , Uladzislau Rezki , Zqiang , rcu , Hillf Danton Subject: [PATCH 5/8] rcu: s/boost_kthread_mutex/kthread_mutex Date: Tue, 19 Dec 2023 15:08:40 +0100 Message-Id: <20231219140843.939329-6-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231219140843.939329-1-frederic@kernel.org> References: <20231219140843.939329-1-frederic@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785719813089266170 X-GMAIL-MSGID: 1785719813089266170 This mutex currently protecting per node boost kthreads creation and affinity setting across CPU hotplug operations will soon be used also for expedited kworkers. Generalize its name to prepare for that. Signed-off-by: Frederic Weisbecker --- kernel/rcu/tree.c | 2 +- kernel/rcu/tree.h | 2 +- kernel/rcu/tree_plugin.h | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 3777fd305f2e..0bf697189519 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -4928,7 +4928,7 @@ static void __init rcu_init_one(void) init_waitqueue_head(&rnp->exp_wq[2]); init_waitqueue_head(&rnp->exp_wq[3]); spin_lock_init(&rnp->exp_lock); - mutex_init(&rnp->boost_kthread_mutex); + mutex_init(&rnp->kthread_mutex); raw_spin_lock_init(&rnp->exp_poll_lock); rnp->exp_seq_poll_rq = RCU_GET_STATE_COMPLETED; INIT_WORK(&rnp->exp_poll_wq, sync_rcu_do_polled_gp); diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h index bf478da89a8f..adf8609f27d0 100644 --- a/kernel/rcu/tree.h +++ b/kernel/rcu/tree.h @@ -113,7 +113,7 @@ struct rcu_node { /* side effect, not as a lock. */ unsigned long boost_time; /* When to start boosting (jiffies). */ - struct mutex boost_kthread_mutex; + struct mutex kthread_mutex; /* Exclusion for thread spawning and affinity */ /* manipulation. */ struct task_struct *boost_kthread_task; diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h index 41021080ad25..0d307674915c 100644 --- a/kernel/rcu/tree_plugin.h +++ b/kernel/rcu/tree_plugin.h @@ -1195,7 +1195,7 @@ static void rcu_spawn_one_boost_kthread(struct rcu_node *rnp) struct sched_param sp; struct task_struct *t; - mutex_lock(&rnp->boost_kthread_mutex); + mutex_lock(&rnp->kthread_mutex); if (rnp->boost_kthread_task || !rcu_scheduler_fully_active) goto out; @@ -1212,7 +1212,7 @@ static void rcu_spawn_one_boost_kthread(struct rcu_node *rnp) wake_up_process(t); /* get to TASK_INTERRUPTIBLE quickly. */ out: - mutex_unlock(&rnp->boost_kthread_mutex); + mutex_unlock(&rnp->kthread_mutex); } /* @@ -1224,7 +1224,7 @@ static void rcu_spawn_one_boost_kthread(struct rcu_node *rnp) * no outgoing CPU. If there are no CPUs left in the affinity set, * this function allows the kthread to execute on any CPU. * - * Any future concurrent calls are serialized via ->boost_kthread_mutex. + * Any future concurrent calls are serialized via ->kthread_mutex. */ static void rcu_boost_kthread_setaffinity(struct rcu_node *rnp, int outgoingcpu) { @@ -1237,7 +1237,7 @@ static void rcu_boost_kthread_setaffinity(struct rcu_node *rnp, int outgoingcpu) return; if (!zalloc_cpumask_var(&cm, GFP_KERNEL)) return; - mutex_lock(&rnp->boost_kthread_mutex); + mutex_lock(&rnp->kthread_mutex); mask = rcu_rnp_online_cpus(rnp); for_each_leaf_node_possible_cpu(rnp, cpu) if ((mask & leaf_node_cpu_bit(rnp, cpu)) && @@ -1250,7 +1250,7 @@ static void rcu_boost_kthread_setaffinity(struct rcu_node *rnp, int outgoingcpu) cpumask_clear_cpu(outgoingcpu, cm); } set_cpus_allowed_ptr(t, cm); - mutex_unlock(&rnp->boost_kthread_mutex); + mutex_unlock(&rnp->kthread_mutex); free_cpumask_var(cm); }