From: Michael Ellerman Date: Thu, 6 Apr 2023 14:45:32 +0000 (+1000) Subject: powerpc/64: Mark prep_irq_for_idle() __cpuidle X-Git-Tag: v6.4-rc1~90^2~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7640854d966449e5befeff02c45c799cfc3d4fcf;p=thirdparty%2Fkernel%2Flinux.git powerpc/64: Mark prep_irq_for_idle() __cpuidle Code in the idle path is not allowed to be instrumented because RCU is disabled, see commit 0e985e9d2286 ("cpuidle: Add comments about noinstr/__cpuidle usage"). Mark prep_irq_for_idle() __cpuidle, which is equivalent to noinstr, to enforce that. Suggested-by: Peter Zijlstra Signed-off-by: Michael Ellerman Link: https://msgid.link/20230406144535.3786008-1-mpe@ellerman.id.au --- diff --git a/arch/powerpc/kernel/irq_64.c b/arch/powerpc/kernel/irq_64.c index c788c55512edb..2ab0e8d84c1d4 100644 --- a/arch/powerpc/kernel/irq_64.c +++ b/arch/powerpc/kernel/irq_64.c @@ -354,7 +354,7 @@ EXPORT_SYMBOL(arch_local_irq_restore); * disabled and marked as such, so the local_irq_enable() call * in arch_cpu_idle() will properly re-enable everything. */ -bool prep_irq_for_idle(void) +__cpuidle bool prep_irq_for_idle(void) { /* * First we need to hard disable to ensure no interrupt