summaryrefslogtreecommitdiffstats
path: root/net/mac802154/cfg.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2018-05-25 07:29:25 -0700
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2018-07-12 15:42:05 -0700
commit2397d072f76b552fc21cda19686d24a8066ced22 (patch)
tree860f87343dbf161f2b88af54131d9802dcee4202 /net/mac802154/cfg.c
parent241b42522abb36c78cdc84d0cade358c4449306f (diff)
downloadtalos-obmc-linux-2397d072f76b552fc21cda19686d24a8066ced22.tar.gz
talos-obmc-linux-2397d072f76b552fc21cda19686d24a8066ced22.zip
rcutorture: Handle extended read-side critical sections
This commit enables rcutorture to test whether RCU properly aggregates different types of read-side critical sections into a larger section covering the set. It does this by extending an initial read-side critical section randomly for a random number of extensions. There is a new rcu_torture_ops field ->extendable that specifies what extensions are permitted for a given flavor of RCU (for example, SRCU does not permit any extensions, while RCU-sched permits all types). Note that if a given operation (for example, local_bh_disable()) extends an RCU read-side critical section, then rcutorture feels free to also start and end the critical section with that operation's type of disabling. Disabling operations include local_bh_disable(), local_irq_disable(), and preempt_disable(). This commit also adds a new "busted_srcud" torture type, which verifies rcutorture's ability to detect extensions of RCU read-side critical sections that are not handled. Gotta test the test, after all! Note that it is not legal to invoke local_bh_disable() with interrupts disabled, and this transition is avoided by overriding the random-number generator when it wants to call local_bh_disable() while interrupts are disabled. The code instead leaves both interrupts and bh/softirq disabled in this case. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'net/mac802154/cfg.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud