Commit 6fee1302 authored by Michael Ellerman's avatar Michael Ellerman
Browse files

powerpc/64: Don't call trace_hardirqs_on() in prep_irq_for_idle()



Since commit a01353cf ("cpuidle: Fix ct_idle_*() usage"), the
cpuidle entry code calls trace_hardirqs_on() (actually
trace_hardirqs_on_prepare()) in ct_cpuidle_enter() before calling into
the cpuidle driver.

Suggested-by: default avatarPeter Zijlstra <peterz@infradead.org>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230406144535.3786008-2-mpe@ellerman.id.au
parent 7640854d
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -348,9 +348,8 @@ EXPORT_SYMBOL(arch_local_irq_restore);
 * already the case when ppc_md.power_save is called). The function
 * will return whether to enter power save or just return.
 *
 * In the former case, it will have notified lockdep of interrupts
 * being re-enabled and generally sanitized the lazy irq state,
 * and in the latter case it will leave with interrupts hard
 * In the former case, it will have generally sanitized the lazy irq
 * state, and in the latter case it will leave with interrupts hard
 * disabled and marked as such, so the local_irq_enable() call
 * in arch_cpu_idle() will properly re-enable everything.
 */
@@ -370,9 +369,6 @@ __cpuidle bool prep_irq_for_idle(void)
	if (lazy_irq_pending())
		return false;

	/* Tell lockdep we are about to re-enable */
	trace_hardirqs_on();

	/*
	 * Mark interrupts as soft-enabled and clear the
	 * PACA_IRQ_HARD_DIS from the pending mask since we