cpuidle_ops is initialized once by arm_cpuidle_read_ops() during initialization, and thereafter is mostly read in arm_cpuidle_suspend()
The fact that it is mostly read and not written to makes it candidates for __read_mostly declarations. Signed-off-by: Jisheng Zhang <[email protected]> --- arch/arm/kernel/cpuidle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/kernel/cpuidle.c b/arch/arm/kernel/cpuidle.c index 7dccc96..762e0929 100644 --- a/arch/arm/kernel/cpuidle.c +++ b/arch/arm/kernel/cpuidle.c @@ -19,7 +19,7 @@ extern struct of_cpuidle_method __cpuidle_method_of_table[]; static const struct of_cpuidle_method __cpuidle_method_of_table_sentinel __used __section(__cpuidle_method_of_table_end); -static struct cpuidle_ops cpuidle_ops[NR_CPUS]; +static struct cpuidle_ops cpuidle_ops[NR_CPUS] __read_mostly; /** * arm_cpuidle_simple_enter() - a wrapper to cpu_do_idle() -- 2.8.1

