OSDN Git Service

cpuidle: pseries: Mark ->enter() functions as __cpuidle
authorMichael Ellerman <mpe@ellerman.id.au>
Thu, 6 Apr 2023 14:45:34 +0000 (00:45 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 20 Apr 2023 03:21:49 +0000 (13:21 +1000)
commit88990745c934b14359e526033c5bc1daaf15267c
tree1fbc35626d2a1132017c17071b761fc90f394ff1
parent6fee130204650515af80c2786176da0fe7e94482
cpuidle: pseries: Mark ->enter() functions as __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 the cpuidle ->enter() callbacks as __cpuidle and use the
raw_local_irq_*() routines to ensure that is the case.

Reported-by: Sachin Sant <sachinp@linux.ibm.com>
Link: https://lore.kernel.org/all/4C073F6A-C812-4C4A-BB7A-ECD10B75FB88@linux.ibm.com/
Suggested-by: Peter Zijlstra <peterz@infradead.org>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230406144535.3786008-3-mpe@ellerman.id.au
drivers/cpuidle/cpuidle-pseries.c