在 2022/1/12 下午8:27, Peter Zijlstra 写道: > 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. Thanks for reviewing and suggestions, I'll fix these problems in the next version. Best, Cruz Zhao