[PATCH v2 0/9] A few more cpuidle vs rcu fixes

From: Peter Zijlstra
Date: Thu Jan 26 2023 - 10:16:02 EST


0-day robot reported graph-tracing made the cpuidle-vs-rcu rework go splat.

These patches appear to cure this, the ftrace selftest now runs to completion
without spamming scary messages to dmesg.

Since v1:

- fixed recursive RCU splats
- fixed psci thingies for arm (null)
- improved the tracing WARN (rostedt)
- fixed TRACE_PREEMPT_TOGGLE (null)

---
arch/x86/include/asm/atomic64_32.h | 44 +++++++++++++++++++-------------------
arch/x86/include/asm/atomic64_64.h | 36 +++++++++++++++----------------
arch/x86/include/asm/kvmclock.h | 2 +-
arch/x86/include/asm/paravirt.h | 2 +-
arch/x86/include/asm/pvclock.h | 3 ++-
arch/x86/kernel/cpu/vmware.c | 2 +-
arch/x86/kernel/kvmclock.c | 6 +++---
arch/x86/kernel/pvclock.c | 22 +++++++++++++------
arch/x86/kernel/tsc.c | 7 +++---
arch/x86/xen/time.c | 12 +++++++++--
drivers/cpuidle/cpuidle.c | 2 +-
drivers/cpuidle/poll_state.c | 2 --
drivers/firmware/psci/psci.c | 31 ++++++++++++++++-----------
include/linux/context_tracking.h | 27 +++++++++++++++++++++++
include/linux/math64.h | 4 ++--
include/linux/sched/clock.h | 8 +++----
include/linux/trace_recursion.h | 18 ++++++++++++++++
kernel/locking/lockdep.c | 3 +++
kernel/panic.c | 5 +++++
kernel/sched/clock.c | 27 +++++++++++++++++------
kernel/trace/trace_preemptirq.c | 6 ++----
lib/bug.c | 15 ++++++++++++-
22 files changed, 192 insertions(+), 92 deletions(-)