linux/kernel/rcu
Paul E. McKenney 5a0874c1d1 rcu: Remove preemption disabling from expedited CPU selection
It turns out that it is queue_delayed_work_on() rather than
queue_work_on() that has difficulties when used concurrently with
CPU-hotplug removal operations.  It is therefore unnecessary to protect
CPU identification and queue_work_on() with preempt_disable().

This commit therefore removes the preempt_disable() and preempt_enable()
from sync_rcu_exp_select_cpus(), which has the further benefit of reducing
the number of changes that must be maintained in the -rt patchset.

Reported-by: Thomas Gleixner <tglx@linutronix.de>
Reported-by: Sebastian Siewior <bigeasy@linutronix.de>
Suggested-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
2019-01-25 15:35:23 -08:00
..
Kconfig rcu: Clean up flavor-related definitions and comments in Kconfig 2018-08-30 16:03:32 -07:00
Kconfig.debug rcu: Move RCU debug Kconfig options to kernel/rcu 2017-06-08 18:52:44 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rcu_segcblist.c rcu: Simplify and inline cpu_needs_another_gp() 2018-05-15 10:30:59 -07:00
rcu_segcblist.h rcu: Simplify and inline cpu_needs_another_gp() 2018-05-15 10:30:59 -07:00
rcu.h rcu: Eliminate RCU_BH_FLAVOR and RCU_SCHED_FLAVOR 2019-01-25 15:28:25 -08:00
rcuperf.c Merge branches 'doc.2018.08.30a', 'dynticks.2018.08.30b', 'srcu.2018.08.30b' and 'torture.2018.08.29a' into HEAD 2018-08-30 16:12:53 -07:00
rcutorture.c rcutorture: Don't do busted forward-progress testing 2018-12-01 12:45:42 -08:00
srcutiny.c srcu: Use "ssp" instead of "sp" for srcu_struct pointer 2018-11-27 09:24:17 -08:00
srcutree.c srcu: Use "ssp" instead of "sp" for srcu_struct pointer 2018-11-27 09:24:17 -08:00
sync.c Merge branches 'bug.2018.11.12a', 'consolidate.2018.12.01a', 'doc.2018.11.12a', 'fixes.2018.11.12a', 'initrd.2018.11.08b', 'sil.2018.11.12a' and 'srcu.2018.11.27a' into HEAD 2018-12-01 12:43:16 -08:00
tiny.c rcu: Rename rcu_check_callbacks() to rcu_sched_clock_irq() 2019-01-25 15:35:21 -08:00
tree_exp.h rcu: Remove preemption disabling from expedited CPU selection 2019-01-25 15:35:23 -08:00
tree_plugin.h rcu: Rename rcu_check_callbacks() to rcu_sched_clock_irq() 2019-01-25 15:35:21 -08:00
tree.c rcu: Rename rcu_process_callbacks() to rcu_core() for Tree RCU 2019-01-25 15:35:22 -08:00
tree.h rcu: Rename rcu_check_callbacks() to rcu_sched_clock_irq() 2019-01-25 15:35:21 -08:00
update.c Merge branches 'bug.2018.11.12a', 'consolidate.2018.12.01a', 'doc.2018.11.12a', 'fixes.2018.11.12a', 'initrd.2018.11.08b', 'sil.2018.11.12a' and 'srcu.2018.11.27a' into HEAD 2018-12-01 12:43:16 -08:00