On Tue, Jan 11, 2022 at 05:56:00PM +0800, Cruz Zhao wrote: > @@ -1115,6 +1118,7 @@ struct rq { > unsigned int core_forceidle_seq; > unsigned int core_forceidle_occupation; > u64 core_forceidle_start; > + bool in_forcedidle; naming is wrong > #endif > }; > > diff --git a/kernel/sched/stats.c b/kernel/sched/stats.c > index 07dde29..ea22a8c 100644 > --- a/kernel/sched/stats.c > +++ b/kernel/sched/stats.c > @@ -108,6 +108,16 @@ void __update_stats_enqueue_sleeper(struct rq *rq, struct task_struct *p, > } > } > > +#ifdef CONFIG_SCHED_CORE > +static inline u64 get_rq_forceidle_time(struct rq *rq) { > + return rq->rq_forceidle_time; > +} > +#else > +static inline u64 get_rq_forceidle_time(struct rq *rq) { > + return 0; > +} > +#endif indent is wrong, and if you put the #ifdef inside the function it'll be smaller.