tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 8f7c77eb69ee331fb66fad8eec5ca81b8843eaf3 commit: 926b9b0cd97e640ee680347cf449c3dc152dddd2 [1657/7374] sched: Throttle qos cfs_rq when current cpu is running online task config: x86_64-randconfig-123-20240412 (https://download.01.org/0day-ci/archive/20240412/202404120103.YG6kXg4w-lkp@i...) compiler: gcc-9 (Ubuntu 9.5.0-4ubuntu2) 9.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240412/202404120103.YG6kXg4w-lkp@i...)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot lkp@intel.com | Closes: https://lore.kernel.org/oe-kbuild-all/202404120103.YG6kXg4w-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/export.h:5, from include/linux/linkage.h:7, from include/linux/kernel.h:17, from include/linux/cpumask.h:10, from include/linux/energy_model.h:4, from kernel/sched/fair.c:23: kernel/sched/fair.c: In function 'check_qos_cfs_rq':
kernel/sched/fair.c:8325:9: error: implicit declaration of function 'sched_idle_cpu'; did you mean 'sched_idle_rq'? [-Werror=implicit-function-declaration]
8325 | !sched_idle_cpu(smp_processor_id()) && | ^~~~~~~~~~~~~~ include/linux/compiler.h:77:42: note: in definition of macro 'unlikely' 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^
kernel/sched/fair.c:8328:21: error: 'struct rq' has no member named 'online'
8328 | if (!rq_of(cfs_rq)->online) | ^~ kernel/sched/fair.c: In function 'pick_next_task_fair':
kernel/sched/fair.c:8531:7: error: 'struct rq' has no member named 'idle_stamp'; did you mean 'idle_state'?
8531 | rq->idle_stamp = 0; | ^~~~~~~~~~ | idle_state kernel/sched/fair.c: At top level: kernel/sched/fair.c:8166:13: warning: 'start_qos_hrtimer' used but never defined 8166 | static void start_qos_hrtimer(int cpu); | ^~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors
vim +8325 kernel/sched/fair.c
8321 8322 static bool check_qos_cfs_rq(struct cfs_rq *cfs_rq) 8323 { 8324 if (unlikely(cfs_rq && cfs_rq->tg->qos_level < 0 &&
8325 !sched_idle_cpu(smp_processor_id()) &&
8326 cfs_rq->h_nr_running == cfs_rq->idle_h_nr_running)) { 8327
8328 if (!rq_of(cfs_rq)->online)
8329 return false; 8330 8331 throttle_qos_cfs_rq(cfs_rq); 8332 return true; 8333 } 8334 8335 return false; 8336 } 8337