powerpc/64: Mark prep_irq_for_idle() __cpuidle
authorMichael Ellerman <mpe@ellerman.id.au>
Thu, 6 Apr 2023 14:45:32 +0000 (00:45 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 20 Apr 2023 03:21:49 +0000 (13:21 +1000)
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 <peterz@infradead.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230406144535.3786008-1-mpe@ellerman.id.au
arch/powerpc/kernel/irq_64.c

index c788c55512edb186920a4a401147b1155c5cfe86..2ab0e8d84c1d455cdf46e09720d24ee88ea78dc2 100644 (file)
@@ -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