[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201208145810.GA4875@paulmck-ThinkPad-P72>
Date: Tue, 8 Dec 2020 06:58:10 -0800
From: "Paul E. McKenney" <paulmck@...nel.org>
To: frederic@...nel.org
Cc: boqun.feng@...il.com, rcu@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: One potential issue with concurrent execution of RCU callbacks...
Hello, Frederic,
Boqun just asked if RCU callbacks ran in BH-disabled context to avoid
concurrent execution of the same callback. Of course, this raises the
question of whether a self-posting callback can have two instances of
itself running concurrently while a CPU is in the process of transitioning
between softirq and rcuo invocation of callbacks.
I believe that the answer is "no" because BH-disabled context is
an implicit RCU read-side critical section. Therefore, the initial
invocation of the RCU callback must complete in order for a new grace
period to complete, and a new grace period must complete before the
second invocation of that same callback to start.
Does that make sense, or am I missing something?
Thanx, Paul
Powered by blists - more mailing lists