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 --]
next prev parent 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.