Messages in this thread Patch in this message | | | Subject | Re: [PATCH] sched/cputime: Mitigate performance regression in times()/clock_gettime() | From | Giovanni Gherdovich <> | Date | Wed, 27 Jul 2016 13:41:22 +0200 |
| |
On Tue, 2016-07-26 at 22:43 +0800, kbuild test robot wrote: > Hi, > > [auto build test ERROR on tip/sched/core] > [also build test ERROR on v4.7 next-20160726] > [if your patch is applied to the wrong git tree, please drop us a > note to help improve the system] > > url: https://github.com/0day-ci/linux/commits/Giovanni-Gherdovich/ > sched-cputime-Mitigate-performance-regression-in-times > -clock_gettime/20160726-221216 > config: mips-allyesconfig (attached as .config) > compiler: mips-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 > reproduce: > wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tes > ts.git/plain/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # save the attached .config to linux build tree > make.cross ARCH=mips > > All errors (new ones prefixed by >>): > > kernel/sched/core.c: In function 'task_sched_runtime': > > > kernel/sched/core.c:3009:3: error: implicit declaration of > > > function 'prefetch' [-Werror=implicit-function-declaration] > prefetch((&p->se)->cfs_rq->curr); > ^ > cc1: some warnings being treated as errors > make[2]: *** [kernel/sched/core.o] Error 1 > make[2]: Target '__build' not remade because of errors. > make[1]: *** [kernel/sched/] Error 2 > > vim +/prefetch +3009 kernel/sched/core.c > > 3003 * Must be ->curr _and_ ->on_rq. If dequeued, > we would > 3004 * project cycles that may never be accounted > to this > 3005 * thread, breaking clock_gettime(). > 3006 */ > 3007 if (task_current(rq, p) && > task_on_rq_queued(p)) { > 3008 #if defined(CONFIG_FAIR_GROUP_SCHED) > > 3009 prefetch((&p->se)->cfs_rq->curr); > 3010 prefetch(&(&p->se)->cfs_rq->curr > ->exec_start); > 3011 #endif > 3012 update_rq_clock(rq); > > --- > 0-DAY kernel test infrastructure Open Source > Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Cor > poration
As the robot pointed out, I forgot the appropriate header file. On x86 it compiled as the declaration must have come via an indirect header file inclusion.
I will wait a few days for more comments, then I'll send a v2 addressing the missing #include with the following change:
-- -- >8 -- -- >8 -- -- >8 -- -- >8 -- -- >8 -- -- >8 -- -- >8 diff --git a/kernel/sched/core.c b/kernel/sched/core.c index fde4014..97c196d 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -74,6 +74,7 @@ #include <linux/context_tracking.h> #include <linux/compiler.h> #include <linux/frame.h> +#include <linux/prefetch.h> #include <asm/switch_to.h> #include <asm/tlb.h> -- -- >8 -- -- >8 -- -- >8 -- -- >8 -- -- >8 -- -- >8 -- -- >8 Regards, Giovanni Gherdovich SUSE Labs
| |