On Mon, Sep 19, 2022 at 11:59:49AM +0200, Peter Zijlstra wrote:
Doing RCU-idle outside the driver, only to then temporarily enable it again before going idle is daft.
Ah wait, now I see, that's cpu_pm_enter()/cpu_pm_exit() -> cpu_pm_notify*() the culprits. Might be worth adding a short note about that on your changelogs.
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> --- drivers/cpuidle/cpuidle-mvebu-v7.c | 7 +++++++ 1 file changed, 7 insertions(+) --- a/drivers/cpuidle/cpuidle-mvebu-v7.c +++ b/drivers/cpuidle/cpuidle-mvebu-v7.c @@ -36,7 +36,10 @@ static int mvebu_v7_enter_idle(struct cp if (drv->states[index].flags & MVEBU_V7_FLAG_DEEP_IDLE) deepidle = true; + ct_idle_enter(); ret = mvebu_v7_cpu_suspend(deepidle); + ct_idle_exit();
And then yes of course: Reviewed-by: Frederic Weisbecker <frederic@xxxxxxxxxx>