android_kernel_motorola_sm6375/kernel/rcu
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Paul E. McKenney 75ca9c1d96 rcu: Tighten rcu_advance_cbs_nowake() checks
commit 614ddad17f22a22e035e2ea37a04815f50362017 upstream.

Currently, rcu_advance_cbs_nowake() checks that a grace period is in
progress, however, that grace period could end just after the check.
This commit rechecks that a grace period is still in progress while
holding the rcu_node structure's lock.  The grace period cannot end while
the current CPU's rcu_node structure's ->lock is held, thus avoiding
false positives from the WARN_ON_ONCE().

As Daniel Vacek noted, it is not necessary for the rcu_node structure
to have a CPU that has not yet passed through its quiescent state.

Tested-by: Guillaume Morin <guillaume@morinfr.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-29 10:25:09 +01:00
..
Kconfig rcu: Use CONFIG_PREEMPTION 2019-07-31 19:03:35 +02:00
Kconfig.debug rcu: Add support for consolidated-RCU reader checking 2019-08-09 11:00:35 -07:00
Makefile
rcu.h srcu: Fix broken node geometry after early ssp init 2021-07-20 16:10:41 +02:00
rcu_segcblist.c rcu/nocb: Add bypass callback queueing 2019-08-13 14:37:32 -07:00
rcu_segcblist.h rcu/nocb: Add bypass callback queueing 2019-08-13 14:37:32 -07:00
rcuperf.c rcuperf: Make rcuperf kernel test more robust for !expedited mode 2019-08-01 14:30:22 -07:00
rcutorture.c rcu/nocb: Print no-CBs diagnostics when rcutorture writer unduly delayed 2019-08-13 14:38:24 -07:00
srcutiny.c
srcutree.c srcu: Fix broken node geometry after early ssp init 2021-07-20 16:10:41 +02:00
sync.c rcu/sync: Simplify the state machine 2019-05-28 09:05:23 -07:00
tiny.c
tree.c rcu: Tighten rcu_advance_cbs_nowake() checks 2022-01-29 10:25:09 +01:00
tree.h rcu/nocb: Print no-CBs diagnostics when rcutorture writer unduly delayed 2019-08-13 14:38:24 -07:00
tree_exp.h rcu/exp: Mark current CPU as exp-QS in IPI loop second pass 2022-01-27 09:19:33 +01:00
tree_plugin.h rcu/nocb: Perform deferred wake up before last idle's need_resched() check 2021-03-04 10:26:47 +01:00
tree_stall.h rcu/tree: Handle VM stoppage in stall detection 2021-09-15 09:47:26 +02:00
update.c Merge branches 'consolidate.2019.08.01b', 'fixes.2019.08.12a', 'lists.2019.08.13a' and 'torture.2019.08.01b' into HEAD 2019-08-13 14:30:30 -07:00