[PATCH RT 0/4] Address rcutorture issues

From: Scott Wood
Date: Tue Jun 18 2019 - 21:24:29 EST

With these patches, rcutorture mostly works on PREEMPT_RT_FULL. I still
once in a while get forward progress complaints (particularly,
rcu_torture_fwd_prog_cr) when a grace period is held up for a few seconds
after which point so many callbacks have been enqueued that even making
reasonable progress isn't going to beat the timeout. I believe I've only
seen this when running heavy loads in addition to rcutorture (though I've
done more testing under load than without); I don't know whether the
forward progress tests are expected to work under such load.

Scott Wood (4):
rcu: Acquire RCU lock when disabling BHs
sched: migrate_enable: Use sleeping_lock to indicate involuntary sleep
rcu: unlock special: Treat irq and preempt disabled the same
rcutorture: Avoid problematic critical section nesting

include/linux/rcupdate.h | 4 +++
include/linux/sched.h | 4 +--
kernel/rcu/rcutorture.c | 92 ++++++++++++++++++++++++++++++++++++++++--------
kernel/rcu/tree_plugin.h | 12 ++-----
kernel/rcu/update.c | 4 +++
kernel/sched/core.c | 2 ++
kernel/softirq.c | 12 +++++--
7 files changed, 102 insertions(+), 28 deletions(-)