[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250916044735.2316171-12-dolinux.peng@gmail.com>
Date: Tue, 16 Sep 2025 12:47:32 +0800
From: pengdonglin <dolinux.peng@...il.com>
To: 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,
pengdonglin <dolinux.peng@...il.com>,
Samuel Mendoza-Jonas <sam@...dozajonas.com>,
Paul Fertser <fercerpav@...il.com>,
pengdonglin <pengdonglin@...omi.com>
Subject: [PATCH v3 11/14] net: ncsi: Remove redundant rcu_read_lock/unlock() in spin_lock
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: Samuel Mendoza-Jonas <sam@...dozajonas.com>
Cc: Paul Fertser <fercerpav@...il.com>
Signed-off-by: pengdonglin <pengdonglin@...omi.com>
Signed-off-by: pengdonglin <dolinux.peng@...il.com>
---
net/ncsi/ncsi-manage.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/net/ncsi/ncsi-manage.c b/net/ncsi/ncsi-manage.c
index 446e4e3b9553..6e36cd64a31e 100644
--- a/net/ncsi/ncsi-manage.c
+++ b/net/ncsi/ncsi-manage.c
@@ -650,7 +650,6 @@ static int set_one_vid(struct ncsi_dev_priv *ndp, struct ncsi_channel *nc,
spin_lock_irqsave(&nc->lock, flags);
- rcu_read_lock();
list_for_each_entry_rcu(vlan, &ndp->vlan_vids, list) {
vid = vlan->vid;
for (i = 0; i < ncf->n_vids; i++)
@@ -661,7 +660,6 @@ static int set_one_vid(struct ncsi_dev_priv *ndp, struct ncsi_channel *nc,
if (vid)
break;
}
- rcu_read_unlock();
if (!vid) {
/* No VLAN ID is not set */
--
2.34.1
Powered by blists - more mailing lists