linux_dsm_epyc7002/include
Paul E. McKenney 127e29815b rcu: Make rcu_barrier() account for offline no-CBs CPUs
Currently, rcu_barrier() ignores offline CPUs,  However, it is possible
for an offline no-CBs CPU to have callbacks queued, and rcu_barrier()
must wait for those callbacks.  This commit therefore makes rcu_barrier()
directly invoke the rcu_barrier_func() with interrupts disabled for such
CPUs.  This requires passing the CPU number into this function so that
it can entrain the rcu_barrier() callback onto the correct CPU's callback
list, given that the code must instead execute on the current CPU.

While in the area, this commit fixes a bug where the first CPU's callback
might have been invoked before rcu_segcblist_entrain() returned, which
would also result in an early wakeup.

Fixes: 5d6742b377 ("rcu/nocb: Use rcu_segcblist for no-CBs CPUs")
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
[ paulmck: Apply optimization feedback from Boqun Feng. ]
Cc: <stable@vger.kernel.org> # 5.5.x
2020-03-21 16:14:25 -07:00
..
acpi
asm-generic
clocksource
crypto
drm
dt-bindings ARM: SoC: late updates 2020-02-08 14:17:27 -08:00
keys
kunit
kvm
linux rculist: Add brackets around cond argument in __list_check_rcu macro 2020-02-20 15:58:23 -08:00
math-emu
media
misc
net
pcmcia
ras
rdma
scsi
soc ARM: SoC-related driver updates 2020-02-08 14:04:19 -08:00
sound ARM: Device-tree updates 2020-02-08 13:58:44 -08:00
target
trace rcu: Make rcu_barrier() account for offline no-CBs CPUs 2020-03-21 16:14:25 -07:00
uapi fs: New zonefs file system 2020-02-09 15:51:46 -08:00
vdso
video
xen