]> rtime.felk.cvut.cz Git - zynq/linux.git/commit
rcu: Merge RCU-bh into RCU-preempt
authorThomas Gleixner <tglx@linutronix.de>
Wed, 5 Oct 2011 18:59:38 +0000 (11:59 -0700)
committerMichal Sojka <sojka@merica.cz>
Sun, 13 Sep 2015 07:47:25 +0000 (09:47 +0200)
commit5c6806306e565e01b477820f88332137af1cfe55
treefc626b74d760b67652c8828c9fe8a68035801e62
parent84ab3ee2100ffb53341226bff180d6108582bade
rcu: Merge RCU-bh into RCU-preempt

The Linux kernel has long RCU-bh read-side critical sections that
intolerably increase scheduling latency under mainline's RCU-bh rules,
which include RCU-bh read-side critical sections being non-preemptible.
This patch therefore arranges for RCU-bh to be implemented in terms of
RCU-preempt for CONFIG_PREEMPT_RT_FULL=y.

This has the downside of defeating the purpose of RCU-bh, namely,
handling the case where the system is subjected to a network-based
denial-of-service attack that keeps at least one CPU doing full-time
softirq processing.  This issue will be fixed by a later commit.

The current commit will need some work to make it appropriate for
mainline use, for example, it needs to be extended to cover Tiny RCU.

[ paulmck: Added a useful changelog ]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/20111005185938.GA20403@linux.vnet.ibm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/rcupdate.h
include/linux/rcutree.h
kernel/rcu/tree.c
kernel/rcu/update.c