All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH] sched/core: forced idle accounting
Date: Mon, 11 Oct 2021 22:33:49 +0800	[thread overview]
Message-ID: <202110112203.fQlTn1Xa-lkp@intel.com> (raw)
In-Reply-To: <20211008000825.1364224-1-joshdon@google.com>

[-- Attachment #1: Type: text/plain, Size: 3640 bytes --]

Hi Josh,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tip/sched/core]
[also build test ERROR on tip/master next-20211011]
[cannot apply to linux/master linus/master v5.15-rc5]
[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/Josh-Don/sched-core-forced-idle-accounting/20211008-095615
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 769fdf83df57b373660343ef4270b3ada91ef434
config: i386-randconfig-a004-20210930 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/b2e2ae116ab03285ca899a48b9d23cbedab5ad0a
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Josh-Don/sched-core-forced-idle-accounting/20211008-095615
        git checkout b2e2ae116ab03285ca899a48b9d23cbedab5ad0a
        # save the attached .config to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   ld: kernel/sched/core_sched.o: in function `sched_core_account_forceidle':
>> kernel/sched/core_sched.c:282: undefined reference to `__udivdi3'


vim +282 kernel/sched/core_sched.c

   235	
   236	/* REQUIRES: rq->core's clock recently updated. */
   237	void sched_core_account_forceidle(struct rq *rq)
   238	{
   239		const struct cpumask *smt_mask = cpu_smt_mask(cpu_of(rq));
   240		unsigned int smt_count;
   241		u64 delta, now = rq_clock(rq->core);
   242		struct rq *rq_i;
   243		struct task_struct *p;
   244		int i;
   245	
   246		lockdep_assert_rq_held(rq);
   247	
   248		WARN_ON_ONCE(!rq->core->core_forceidle);
   249	
   250		if (rq->core->core_forceidle_start == 0)
   251			return;
   252	
   253		delta = now - rq->core->core_forceidle_start;
   254		if (unlikely((s64)delta <= 0))
   255			return;
   256	
   257		rq->core->core_forceidle_start = now;
   258	
   259		/*
   260		 * For larger SMT configurations, we need to scale the charged
   261		 * forced idle amount since there can be more than one forced idle
   262		 * sibling and more than one running cookied task.
   263		 */
   264		smt_count = cpumask_weight(smt_mask);
   265		if (smt_count > 2) {
   266			unsigned int nr_forced_idle = 0, nr_running = 0;
   267	
   268			for_each_cpu(i, smt_mask) {
   269				rq_i = cpu_rq(i);
   270				p = rq_i->core_pick ?: rq_i->curr;
   271	
   272				if (p != rq_i->idle)
   273					nr_running++;
   274				else if (rq_i->nr_running)
   275					nr_forced_idle++;
   276			}
   277	
   278			if (WARN_ON_ONCE(!nr_running)) {
   279				/* can't be forced idle without a running task */
   280			} else {
   281				delta *= nr_forced_idle;
 > 282				delta /= nr_running;
   283			}
   284		}
   285	
   286		for_each_cpu(i, smt_mask) {
   287			rq_i = cpu_rq(i);
   288			p = rq_i->core_pick ?: rq_i->curr;
   289	
   290			if (!p->core_cookie)
   291				continue;
   292	
   293			p->core_forceidle_sum += delta;
   294	
   295			/* Optimize for common case. */
   296			if (smt_count == 2)
   297				break;
   298		}
   299	}
   300	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 38798 bytes --]

  parent reply	other threads:[~2021-10-11 14:33 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-08  0:08 [PATCH] sched/core: forced idle accounting Josh Don
2021-10-08 21:04 ` Josh Don
2021-10-09 15:54 ` Peter Zijlstra
2021-10-12  0:12   ` Josh Don
2021-10-12 12:27     ` Peter Zijlstra
2021-10-12 19:45       ` Josh Don
2021-10-14 14:24         ` Peter Zijlstra
2021-10-14 23:18           ` Josh Don
2021-10-09 18:11 ` Tao Zhou
2021-10-12  0:14   ` Josh Don
2021-10-11 14:33 ` kernel test robot [this message]
2021-10-11 17:33 ` Hao Luo
2021-10-12  0:31   ` Josh Don
2021-10-14 17:57     ` Hao Luo
2021-10-14 23:29       ` Josh Don
2021-10-14 23:58         ` Hao Luo
2021-10-11 18:08 ` kernel test robot
2021-10-11 18:08   ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202110112203.fQlTn1Xa-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.