Re: [PATCH 3/4] sched/fair: introduce core_vruntime and core_min_vruntime

From: kernel test robot
Date: Wed Nov 15 2023 - 15:51:54 EST


Hi Cruz,

kernel test robot noticed the following build errors:

[auto build test ERROR on linus/master]
[also build test ERROR on v6.7-rc1 next-20231115]
[cannot apply to tip/sched/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Cruz-Zhao/sched-core-introduce-core_id-to-struct-rq/20231115-193559
base: linus/master
patch link: https://lore.kernel.org/r/20231115113341.13261-4-CruzZhao%40linux.alibaba.com
patch subject: [PATCH 3/4] sched/fair: introduce core_vruntime and core_min_vruntime
config: i386-buildonly-randconfig-005-20231116 (https://download.01.org/0day-ci/archive/20231116/202311160442.IBG98IUu-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231116/202311160442.IBG98IUu-lkp@xxxxxxxxx/reproduce)

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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311160442.IBG98IUu-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from kernel/sched/fair.c:54:
kernel/sched/fair.c: In function 'update_min_vruntime':
>> kernel/sched/fair.c:802:37: error: 'struct cfs_rq' has no member named 'core_min_vruntime_copy'; did you mean 'core_min_vruntime'?
802 | u64_u32_store(cfs_rq->core->core_min_vruntime,
| ^~~~~~~~~~~~~~~~~
kernel/sched/sched.h:528:9: note: in definition of macro 'u64_u32_store_copy'
528 | copy = __val; \
| ^~~~
kernel/sched/fair.c:802:9: note: in expansion of macro 'u64_u32_store'
802 | u64_u32_store(cfs_rq->core->core_min_vruntime,
| ^~~~~~~~~~~~~
kernel/sched/fair.c: At top level:
kernel/sched/fair.c:12462:6: warning: no previous prototype for 'sched_core_init_cfs_rq' [-Wmissing-prototypes]
12462 | void sched_core_init_cfs_rq(struct task_group *tg, struct cfs_rq *cfs_rq)
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c: In function 'init_cfs_rq':
kernel/sched/fair.c:12698:31: error: 'struct cfs_rq' has no member named 'core_min_vruntime_copy'; did you mean 'core_min_vruntime'?
12698 | u64_u32_store(cfs_rq->core_min_vruntime, (u64)(-(1LL << 20)));
| ^~~~~~~~~~~~~~~~~
kernel/sched/sched.h:528:9: note: in definition of macro 'u64_u32_store_copy'
528 | copy = __val; \
| ^~~~
kernel/sched/fair.c:12698:9: note: in expansion of macro 'u64_u32_store'
12698 | u64_u32_store(cfs_rq->core_min_vruntime, (u64)(-(1LL << 20)));
| ^~~~~~~~~~~~~
kernel/sched/fair.c: At top level:
kernel/sched/fair.c:12985:6: warning: no previous prototype for 'free_fair_sched_group' [-Wmissing-prototypes]
12985 | void free_fair_sched_group(struct task_group *tg) { }
| ^~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:12987:5: warning: no previous prototype for 'alloc_fair_sched_group' [-Wmissing-prototypes]
12987 | int alloc_fair_sched_group(struct task_group *tg, struct task_group *parent)
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:12992:6: warning: no previous prototype for 'online_fair_sched_group' [-Wmissing-prototypes]
12992 | void online_fair_sched_group(struct task_group *tg) { }
| ^~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:12994:6: warning: no previous prototype for 'unregister_fair_sched_group' [-Wmissing-prototypes]
12994 | void unregister_fair_sched_group(struct task_group *tg) { }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +802 kernel/sched/fair.c

772
773 if (curr) {
774 if (curr->on_rq) {
775 vruntime = curr->vruntime;
776 #ifdef CONFIG_SCHED_CORE
777 core_vruntime = curr->core_vruntime;
778 #endif
779 } else {
780 curr = NULL;
781 }
782 }
783
784 if (se) {
785 if (!curr) {
786 vruntime = se->vruntime;
787 #ifdef CONFIG_SCHED_CORE
788 core_vruntime = se->core_vruntime;
789 #endif
790 } else {
791 vruntime = min_vruntime(vruntime, se->vruntime);
792 #ifdef CONFIG_SCHED_CORE
793 core_vruntime = min_vruntime(core_vruntime, se->core_vruntime);
794 #endif
795 }
796 }
797
798 /* ensure we never gain time by being placed backwards. */
799 u64_u32_store(cfs_rq->min_vruntime,
800 __update_min_vruntime(cfs_rq, vruntime));
801 #ifdef CONFIG_SCHED_CORE
> 802 u64_u32_store(cfs_rq->core->core_min_vruntime,
803 __update_core_min_vruntime(cfs_rq->core, vruntime));
804 #endif
805 }
806

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki