linux-stable/drivers/cpuidle
Peter Zijlstra 788621afda sched,idle,rcu: Push rcu_idle deeper into the idle path
commit 1098582a0f upstream.

Lots of things take locks, due to a wee bug, rcu_lockdep didn't notice
that the locking tracepoints were using RCU.

Push rcu_idle_{enter,exit}() as deep as possible into the idle paths,
this also resolves a lot of _rcuidle()/RCU_NONIDLE() usage.

Specifically, sched_clock_idle_wakeup_event() will use ktime which
will use seqlocks which will tickle lockdep, and
stop_critical_timings() uses lock.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Tested-by: Marco Elver <elver@google.com>
Link: https://lkml.kernel.org/r/20200821085348.310943801@infradead.org
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-10-25 11:16:26 +02:00
..
governors cpuidle: menu: Fix wakeup statistics updates for polling state 2019-11-24 08:20:07 +01:00
coupled.c
cpuidle-arm.c
cpuidle-at91.c
cpuidle-big_little.c cpuidle: big.LITTLE: fix refcount leak 2019-02-12 19:47:08 +01:00
cpuidle-calxeda.c
cpuidle-clps711x.c
cpuidle-cps.c
cpuidle-exynos.c
cpuidle-kirkwood.c
cpuidle-mvebu-v7.c
cpuidle-powernv.c
cpuidle-pseries.c
cpuidle-ux500.c
cpuidle-zynq.c
cpuidle.c sched,idle,rcu: Push rcu_idle deeper into the idle path 2023-10-25 11:16:26 +02:00
cpuidle.h
driver.c cpuidle: Do not unset the driver if it is there already 2019-12-17 20:35:00 +01:00
dt_idle_states.c cpuidle: dt: Return the correct numbers of parsed idle states 2023-01-18 11:30:04 +01:00
dt_idle_states.h
governor.c
Kconfig
Kconfig.arm
Kconfig.mips
Kconfig.powerpc
Makefile
poll_state.c cpuidle: menu: Fix wakeup statistics updates for polling state 2019-11-24 08:20:07 +01:00
sysfs.c cpuidle: Fix kobject memory leaks in error paths 2021-11-26 11:36:08 +01:00