[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <03ad08d9-4510-19fb-bbad-652159308119@huawei.com>
Date: Sat, 27 Sep 2025 11:22:46 +0800
From: Hanjun Guo <guohanjun@...wei.com>
To: pengdonglin <dolinux.peng@...il.com>, <tj@...nel.org>,
<tony.luck@...el.com>, <jani.nikula@...ux.intel.com>, <ap420073@...il.com>,
<jv@...sburgh.net>, <freude@...ux.ibm.com>, <bcrl@...ck.org>,
<trondmy@...nel.org>, <longman@...hat.com>, <kees@...nel.org>
CC: <bigeasy@...utronix.de>, <hdanton@...a.com>, <paulmck@...nel.org>,
<linux-kernel@...r.kernel.org>, <linux-rt-devel@...ts.linux.dev>,
<linux-nfs@...r.kernel.org>, <linux-aio@...ck.org>,
<linux-fsdevel@...r.kernel.org>, <linux-security-module@...r.kernel.org>,
<netdev@...r.kernel.org>, <intel-gfx@...ts.freedesktop.org>,
<linux-wireless@...r.kernel.org>, <linux-acpi@...r.kernel.org>,
<linux-s390@...r.kernel.org>, <cgroups@...r.kernel.org>, "Rafael J. Wysocki"
<rafael@...nel.org>, pengdonglin <pengdonglin@...omi.com>
Subject: Re: [PATCH v3 01/14] ACPI: APEI: Remove redundant
rcu_read_lock/unlock() in spin_lock
On 2025/9/16 12:47, pengdonglin wrote:
> From: pengdonglin <pengdonglin@...omi.com>
>
> Since commit a8bb74acd8efe ("rcu: Consolidate RCU-sched update-side function definitions")
> there is no difference between rcu_read_lock(), rcu_read_lock_bh() and
> rcu_read_lock_sched() in terms of RCU read section and the relevant grace
> period. That means that spin_lock(), which implies rcu_read_lock_sched(),
> also implies rcu_read_lock().
>
> There is no need no explicitly start a RCU read section if one has already
> been started implicitly by spin_lock().
>
> Simplify the code and remove the inner rcu_read_lock() invocation.
>
> Cc: "Rafael J. Wysocki" <rafael@...nel.org>
> Cc: Tony Luck <tony.luck@...el.com>
> Cc: Hanjun Guo <guohanjun@...wei.com>
> Signed-off-by: pengdonglin <pengdonglin@...omi.com>
> Signed-off-by: pengdonglin <dolinux.peng@...il.com>
> ---
> drivers/acpi/apei/ghes.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> index a0d54993edb3..97ee19f2cae0 100644
> --- a/drivers/acpi/apei/ghes.c
> +++ b/drivers/acpi/apei/ghes.c
> @@ -1207,12 +1207,10 @@ static int ghes_notify_hed(struct notifier_block *this, unsigned long event,
> int ret = NOTIFY_DONE;
>
> spin_lock_irqsave(&ghes_notify_lock_irq, flags);
> - rcu_read_lock();
> list_for_each_entry_rcu(ghes, &ghes_hed, list) {
> if (!ghes_proc(ghes))
> ret = NOTIFY_OK;
> }
> - rcu_read_unlock();
> spin_unlock_irqrestore(&ghes_notify_lock_irq, flags);
>
> return ret;
Reviewed-by: Hanjun Guo <guohanjun@...wei.com>
Thanks
Hanjun
Powered by blists - more mailing lists