All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH] alios: sched: Fix race between runtime distribution and assignment
Date: Thu, 26 Mar 2020 11:28:30 +0800	[thread overview]
Message-ID: <202003261159.JrL41g5H%lkp@intel.com> (raw)
In-Reply-To: <20200325092602.22471-1-changhuaixin@linux.alibaba.com>

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

Hi Huaixin,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tip/sched/core]
[also build test WARNING on tip/auto-latest linus/master linux/master v5.6-rc7 next-20200325]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Huaixin-Chang/alios-sched-Fix-race-between-runtime-distribution-and-assignment/20200326-064002
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 9c40365a65d62d7c06a95fb331b3442cb02d2fd9
config: openrisc-randconfig-a001-20200326 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.2.0
reproduce:
        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
        GCC_VERSION=9.2.0 make.cross ARCH=openrisc 

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

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   kernel/sched/fair.c: In function 'distribute_cfs_runtime':
>> kernel/sched/fair.c:4875:6: warning: 'remaining' may be used uninitialized in this function [-Wmaybe-uninitialized]
    4875 |   if (!remaining)
         |      ^

vim +/remaining +4875 kernel/sched/fair.c

671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4838  
a340e0a2673eff kernel/sched/fair.c Huaixin Chang  2020-03-25  4839  static void distribute_cfs_runtime(struct cfs_bandwidth *cfs_b)
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4840  {
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4841  	struct cfs_rq *cfs_rq;
a340e0a2673eff kernel/sched/fair.c Huaixin Chang  2020-03-25  4842  	u64 runtime, remaining;
a340e0a2673eff kernel/sched/fair.c Huaixin Chang  2020-03-25  4843  	unsigned long flags;
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4844  
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4845  	rcu_read_lock();
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4846  	list_for_each_entry_rcu(cfs_rq, &cfs_b->throttled_cfs_rq,
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4847  				throttled_list) {
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4848  		struct rq *rq = rq_of(cfs_rq);
8a8c69c3277886 kernel/sched/fair.c Peter Zijlstra 2016-10-04  4849  		struct rq_flags rf;
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4850  
c0ad4aa4d8416a kernel/sched/fair.c Peter Zijlstra 2019-01-07  4851  		rq_lock_irqsave(rq, &rf);
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4852  		if (!cfs_rq_throttled(cfs_rq))
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4853  			goto next;
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4854  
5e2d2cc2588bd3 kernel/sched/fair.c Liangyan       2019-08-26  4855  		/* By the above check, this should never be true */
5e2d2cc2588bd3 kernel/sched/fair.c Liangyan       2019-08-26  4856  		SCHED_WARN_ON(cfs_rq->runtime_remaining > 0);
5e2d2cc2588bd3 kernel/sched/fair.c Liangyan       2019-08-26  4857  
a340e0a2673eff kernel/sched/fair.c Huaixin Chang  2020-03-25  4858  		raw_spin_lock_irqsave(&cfs_b->lock, flags);
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4859  		runtime = -cfs_rq->runtime_remaining + 1;
a340e0a2673eff kernel/sched/fair.c Huaixin Chang  2020-03-25  4860  		if (runtime > cfs_b->runtime)
a340e0a2673eff kernel/sched/fair.c Huaixin Chang  2020-03-25  4861  			runtime = cfs_b->runtime;
a340e0a2673eff kernel/sched/fair.c Huaixin Chang  2020-03-25  4862  		cfs_b->runtime -= runtime;
a340e0a2673eff kernel/sched/fair.c Huaixin Chang  2020-03-25  4863  		remaining = cfs_b->runtime;
a340e0a2673eff kernel/sched/fair.c Huaixin Chang  2020-03-25  4864  		raw_spin_unlock_irqrestore(&cfs_b->lock, flags);
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4865  
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4866  		cfs_rq->runtime_remaining += runtime;
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4867  
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4868  		/* we check whether we're throttled above */
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4869  		if (cfs_rq->runtime_remaining > 0)
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4870  			unthrottle_cfs_rq(cfs_rq);
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4871  
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4872  next:
c0ad4aa4d8416a kernel/sched/fair.c Peter Zijlstra 2019-01-07  4873  		rq_unlock_irqrestore(rq, &rf);
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4874  
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21 @4875  		if (!remaining)
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4876  			break;
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4877  	}
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4878  	rcu_read_unlock();
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4879  }
671fd9dabe5239 kernel/sched_fair.c Paul Turner    2011-07-21  4880  

:::::: The code at line 4875 was first introduced by commit
:::::: 671fd9dabe5239ad218c7eb48b2b9edee50250e6 sched: Add support for unthrottling group entities

:::::: TO: Paul Turner <pjt@google.com>
:::::: CC: Ingo Molnar <mingo@elte.hu>

---
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: 32519 bytes --]

  reply	other threads:[~2020-03-26  3:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-25  9:26 [PATCH] alios: sched: Fix race between runtime distribution and assignment Huaixin Chang
2020-03-26  3:28 ` kbuild test robot [this message]
2020-03-26  6:56 ` [PATCH v2] " Huaixin Chang
2020-03-26 17:27   ` bsegall
2020-03-27  3:26 ` [PATCH v3] sched/fair: " Huaixin Chang
2020-03-30 10:44   ` Peter Zijlstra

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=202003261159.JrL41g5H%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.