From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755219AbcG0LlV (ORCPT ); Wed, 27 Jul 2016 07:41:21 -0400 Received: from mx2.suse.de ([195.135.220.15]:57037 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753245AbcG0LlT (ORCPT ); Wed, 27 Jul 2016 07:41:19 -0400 Message-ID: <1469619682.1808.4.camel@suse.cz> Subject: Re: [PATCH] sched/cputime: Mitigate performance regression in times()/clock_gettime() From: Giovanni Gherdovich To: Ingo Molnar , Peter Zijlstra Cc: kbuild-all@01.org, Mike Galbraith , Stanislaw Gruszka , linux-kernel@vger.kernel.org, Mel Gorman , mgorman@techsingularity.net Date: Wed, 27 Jul 2016 13:41:22 +0200 In-Reply-To: <201607262207.9FrBoX2i%fengguang.wu@intel.com> References: <201607262207.9FrBoX2i%fengguang.wu@intel.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.16.5 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 #include #include +#include #include #include -- -- >8 -- -- >8 -- -- >8 -- -- >8 -- -- >8 -- -- >8 -- -- >8 Regards, Giovanni Gherdovich SUSE Labs