linux-hardened/kernel/rcu
Paul E. McKenney 46a5d164db rcu: Stop disabling interrupts in scheduler fastpaths
We need the scheduler's fastpaths to be, well, fast, and unnecessarily
disabling and re-enabling interrupts is not necessarily consistent with
this goal.  Especially given that there are regions of the scheduler that
already have interrupts disabled.

This commit therefore moves the call to rcu_note_context_switch()
to one of the interrupts-disabled regions of the scheduler, and
removes the now-redundant disabling and re-enabling of interrupts from
rcu_note_context_switch() and the functions it calls.

Reported-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
[ paulmck: Shift rcu_note_context_switch() to avoid deadlock, as suggested
  by Peter Zijlstra. ]
2015-12-04 12:27:31 -08:00
..
Makefile rcu: Create rcu_sync infrastructure 2015-10-06 11:25:04 -07:00
rcu.h tiny_rcu: Directly force QS when call_rcu_[bh|sched]() on idle_task 2015-01-06 11:01:12 -08:00
rcutorture.c Merge branches 'doc.2015.10.06a', 'percpu-rwsem.2015.10.06a' and 'torture.2015.10.06a' into HEAD 2015-10-07 16:06:25 -07:00
srcu.c rcu: Move preemption disabling out of __srcu_read_lock() 2015-10-06 11:15:43 -07:00
sync.c rcu_sync: Cleanup the CONFIG_PROVE_RCU checks 2015-10-06 11:25:45 -07:00
tiny.c rcu: Use rcu_callback_t in call_rcu*() and friends 2015-10-06 11:08:05 -07:00
tiny_plugin.h rcu: Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE() 2015-05-27 12:56:15 -07:00
tree.c rcu: Stop disabling interrupts in scheduler fastpaths 2015-12-04 12:27:31 -08:00
tree.h rcu: Create transitive rnp->lock acquisition functions 2015-11-23 10:37:35 -08:00
tree_plugin.h rcu: Stop disabling interrupts in scheduler fastpaths 2015-12-04 12:27:31 -08:00
tree_trace.c kernel: Make rcu/tree_trace.c explicitly non-modular 2015-12-04 12:27:29 -08:00
update.c rcu: Use rcu_callback_t in call_rcu*() and friends 2015-10-06 11:08:05 -07:00