From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7793730278971073920==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [patch 01/10] sched: Fix balance_callback() Date: Sun, 20 Sep 2020 06:48:13 +0800 Message-ID: <202009200616.uuLV9NUD%lkp@intel.com> In-Reply-To: <20200917101623.983510598@linutronix.de> List-Id: --===============7793730278971073920== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Thomas, I love your patch! Yet something to improve: [auto build test ERROR on tip/sched/core] [also build test ERROR on tip/master linux/master linus/master v5.9-rc5 nex= t-20200918] [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] url: https://github.com/0day-ci/linux/commits/Thomas-Gleixner/sched-Migr= ate-disable-support-for-RT/20200917-185532 base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 848785d= f48835eefebe0c4eb5da7690690b0a8b7 config: sh-rsk7264_defconfig (attached as .config) compiler: sh4-linux-gcc (GCC) 9.3.0 reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-9.3.0 make.cross = ARCH=3Dsh = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): cc1: warning: arch/sh/include/mach-rsk: No such file or directory [-Wmis= sing-include-dirs] cc1: warning: arch/sh/include/mach-rsk: No such file or directory [-Wmis= sing-include-dirs] In file included from arch/sh/include/asm/bug.h:112, from include/linux/bug.h:5, from include/linux/thread_info.h:12, from include/asm-generic/current.h:5, from ./arch/sh/include/generated/asm/current.h:1, from include/linux/sched.h:12, from include/linux/sched/numa_balancing.h:10, from include/trace/events/sched.h:8, from kernel/sched/core.c:10: kernel/sched/sched.h: In function 'rq_pin_lock': >> kernel/sched/sched.h:1224:18: error: 'struct rq' has no member named 'ba= lance_callback' 1224 | SCHED_WARN_ON(rq->balance_callback); | ^~ include/asm-generic/bug.h:157:27: note: in definition of macro 'WARN_ONC= E' 157 | int __ret_warn_once =3D !!(condition); \ | ^~~~~~~~~ kernel/sched/sched.h:1224:2: note: in expansion of macro 'SCHED_WARN_ON' 1224 | SCHED_WARN_ON(rq->balance_callback); | ^~~~~~~~~~~~~ -- cc1: warning: arch/sh/include/mach-rsk: No such file or directory [-Wmis= sing-include-dirs] cc1: warning: arch/sh/include/mach-rsk: No such file or directory [-Wmis= sing-include-dirs] In file included from arch/sh/include/asm/bug.h:112, from include/linux/bug.h:5, from include/linux/thread_info.h:12, from include/asm-generic/current.h:5, from ./arch/sh/include/generated/asm/current.h:1, from include/linux/sched.h:12, from kernel/sched/sched.h:5, from kernel/sched/fair.c:23: kernel/sched/sched.h: In function 'rq_pin_lock': >> kernel/sched/sched.h:1224:18: error: 'struct rq' has no member named 'ba= lance_callback' 1224 | SCHED_WARN_ON(rq->balance_callback); | ^~ include/asm-generic/bug.h:157:27: note: in definition of macro 'WARN_ONC= E' 157 | int __ret_warn_once =3D !!(condition); \ | ^~~~~~~~~ kernel/sched/sched.h:1224:2: note: in expansion of macro 'SCHED_WARN_ON' 1224 | SCHED_WARN_ON(rq->balance_callback); | ^~~~~~~~~~~~~ kernel/sched/fair.c: At top level: kernel/sched/fair.c:5364:6: warning: no previous prototype for 'init_cfs= _bandwidth' [-Wmissing-prototypes] 5364 | void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b) {} | ^~~~~~~~~~~~~~~~~~ kernel/sched/fair.c:11113:6: warning: no previous prototype for 'free_fa= ir_sched_group' [-Wmissing-prototypes] 11113 | void free_fair_sched_group(struct task_group *tg) { } | ^~~~~~~~~~~~~~~~~~~~~ kernel/sched/fair.c:11115:5: warning: no previous prototype for 'alloc_f= air_sched_group' [-Wmissing-prototypes] 11115 | int alloc_fair_sched_group(struct task_group *tg, struct task_gr= oup *parent) | ^~~~~~~~~~~~~~~~~~~~~~ kernel/sched/fair.c:11120:6: warning: no previous prototype for 'online_= fair_sched_group' [-Wmissing-prototypes] 11120 | void online_fair_sched_group(struct task_group *tg) { } | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/sched/fair.c:11122:6: warning: no previous prototype for 'unregis= ter_fair_sched_group' [-Wmissing-prototypes] 11122 | void unregister_fair_sched_group(struct task_group *tg) { } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ -- cc1: warning: arch/sh/include/mach-rsk: No such file or directory [-Wmis= sing-include-dirs] cc1: warning: arch/sh/include/mach-rsk: No such file or directory [-Wmis= sing-include-dirs] In file included from arch/sh/include/asm/bug.h:112, from include/linux/bug.h:5, from include/linux/thread_info.h:12, from include/asm-generic/current.h:5, from ./arch/sh/include/generated/asm/current.h:1, from include/linux/sched.h:12, from kernel/sched/sched.h:5, from kernel/sched/rt.c:6: kernel/sched/sched.h: In function 'rq_pin_lock': >> kernel/sched/sched.h:1224:18: error: 'struct rq' has no member named 'ba= lance_callback' 1224 | SCHED_WARN_ON(rq->balance_callback); | ^~ include/asm-generic/bug.h:157:27: note: in definition of macro 'WARN_ONC= E' 157 | int __ret_warn_once =3D !!(condition); \ | ^~~~~~~~~ kernel/sched/sched.h:1224:2: note: in expansion of macro 'SCHED_WARN_ON' 1224 | SCHED_WARN_ON(rq->balance_callback); | ^~~~~~~~~~~~~ kernel/sched/rt.c: At top level: kernel/sched/rt.c:253:6: warning: no previous prototype for 'free_rt_sch= ed_group' [-Wmissing-prototypes] 253 | void free_rt_sched_group(struct task_group *tg) { } | ^~~~~~~~~~~~~~~~~~~ kernel/sched/rt.c:255:5: warning: no previous prototype for 'alloc_rt_sc= hed_group' [-Wmissing-prototypes] 255 | int alloc_rt_sched_group(struct task_group *tg, struct task_grou= p *parent) | ^~~~~~~~~~~~~~~~~~~~ kernel/sched/rt.c:668:6: warning: no previous prototype for 'sched_rt_ba= ndwidth_account' [-Wmissing-prototypes] 668 | bool sched_rt_bandwidth_account(struct rt_rq *rt_rq) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ # https://github.com/0day-ci/linux/commit/f1fee7de063e0f3f8b3b418491cde1317= 8356a82 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Thomas-Gleixner/sched-Migrate-disable-supp= ort-for-RT/20200917-185532 git checkout f1fee7de063e0f3f8b3b418491cde13178356a82 vim +1224 kernel/sched/sched.h 1205 = 1206 /* 1207 * Lockdep annotation that avoids accidental unlocks; it's like a 1208 * sticky/continuous lockdep_assert_held(). 1209 * 1210 * This avoids code that has access to 'struct rq *rq' (basically ev= erything in 1211 * the scheduler) from accidentally unlocking the rq if they do not = also have a 1212 * copy of the (on-stack) 'struct rq_flags rf'. 1213 * 1214 * Also see Documentation/locking/lockdep-design.rst. 1215 */ 1216 static inline void rq_pin_lock(struct rq *rq, struct rq_flags *rf) 1217 { 1218 rf->cookie =3D lockdep_pin_lock(&rq->lock); 1219 = 1220 #ifdef CONFIG_SCHED_DEBUG 1221 rq->clock_update_flags &=3D (RQCF_REQ_SKIP|RQCF_ACT_SKIP); 1222 rf->clock_update_flags =3D 0; 1223 = > 1224 SCHED_WARN_ON(rq->balance_callback); 1225 #endif 1226 } 1227 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============7793730278971073920== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============7793730278971073920==--