[PATCH v3 0/4] rcu, arm64: PREEMPT_RT fixlets

From: Valentin Schneider
Date: Wed Aug 11 2021 - 16:14:13 EST


Hi folks,

this is v3 of:

https://lore.kernel.org/lkml/20210721115118.729943-1-valentin.schneider@xxxxxxx/

respun from Frederic and Paul's helpful feedback. Tested atop v5.14-rc5-rt8 with
the v1 patches reverted. There, commit

d76e0926d835 ("rcu/nocb: Use the rcuog CPU's ->nocb_timer")

prevents the NOCB offload warning from firing if there are no NOCB CPUs (which
is sensible). Adding a single NOCB CPU brings the warning back, which patch 3
fixes.

Revisions
=========

v2 -> v3
++++++++

o Rebased and tested against v5.14-rc5-rt8
o Dropped affinity check from is_pcpu_safe() (Boqun)
o Renamed is_pcpu_safe() to migratable() (Boqun, Mike)

v1 -> v2
++++++++

o Rebased and tested against v5.14-rc4-rt6
o Picked rcutorture patch patch from
https://lore.kernel.org/lkml/20210803225437.3612591-2-valentin.schneider@xxxxxxx/
o Added a local_lock to protect NOCB offload state under PREEMPT_RT (Frederic,
Paul)

Valentin Schneider (4):
rcutorture: Don't disable softirqs with preemption disabled when
PREEMPT_RT
sched: Introduce migratable()
rcu/nocb: Protect NOCB state via local_lock() under PREEMPT_RT
arm64: mm: Make arch_faults_on_old_pte() check for migratability

arch/arm64/include/asm/pgtable.h | 2 +-
include/linux/sched.h | 10 ++++
kernel/rcu/rcutorture.c | 2 +
kernel/rcu/tree.c | 4 ++
kernel/rcu/tree.h | 4 ++
kernel/rcu/tree_plugin.h | 82 ++++++++++++++++++++++++++++----
6 files changed, 94 insertions(+), 10 deletions(-)

--
2.25.1