Hi Xuewei,
FYI, the error/warning still remains.
tree:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
linux-4.9.y
head: 6940a98776c9014fdcc806e39ab0ebc8316cf241
commit: bdb6fa8234e59dfb1e0136352adf7684ac9c11af [8018/9999] sched/fair: Scale bandwidth
quota and period without losing quota/period ratio precision
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 7.5.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
#
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gi...
git remote add linux-stable-rc
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git fetch --no-tags linux-stable-rc linux-4.9.y
git checkout bdb6fa8234e59dfb1e0136352adf7684ac9c11af
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
kernel/sched/fair.c:3233:6: warning: no previous prototype for
'remove_entity_load_avg' [-Wmissing-prototypes]
void remove_entity_load_avg(struct sched_entity *se)
^~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c: In function 'sched_cfs_period_timer':
> kernel/sched/fair.c:4428:1: warning: the frame size of 1152 bytes
is larger than 1024 bytes [-Wframe-larger-than=]
}
^
vim +4428 kernel/sched/fair.c
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4376
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4377 static enum
hrtimer_restart sched_cfs_period_timer(struct hrtimer *timer)
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4378 {
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4379 struct cfs_bandwidth
*cfs_b =
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4380 container_of(timer,
struct cfs_bandwidth, period_timer);
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4381 int overrun;
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4382 int idle = 0;
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4383 int count = 0;
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4384
51f2176d74ace4 kernel/sched/fair.c Ben Segall 2014-05-19 4385
raw_spin_lock(&cfs_b->lock);
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4386 for (;;) {
77a4d1a1b9a122 kernel/sched/fair.c Peter Zijlstra 2015-04-15 4387 overrun =
hrtimer_forward_now(timer, cfs_b->period);
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4388 if (!overrun)
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4389 break;
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4390
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4391 if (++count > 3)
{
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4392 u64 new, old =
ktime_to_ns(cfs_b->period);
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4393
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4394 /*
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4395 * Grow period by a
factor of 2 to avoid losing precision.
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4396 * Precision loss
in the quota/period ratio can cause __cfs_schedulable
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4397 * to fail.
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4398 */
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4399 new = old * 2;
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4400 if (new <
max_cfs_quota_period) {
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4401 cfs_b->period =
ns_to_ktime(new);
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4402 cfs_b->quota *=
2;
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4403
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4404
pr_warn_ratelimited(
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4405
"cfs_period_timer[cpu%d]: period too short, scaling up (new cfs_period_us = %lld,
cfs_quota_us = %lld)\n",
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4406
smp_processor_id(),
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4407 div_u64(new,
NSEC_PER_USEC),
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4408
div_u64(cfs_b->quota, NSEC_PER_USEC));
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4409 } else {
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4410
pr_warn_ratelimited(
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4411
"cfs_period_timer[cpu%d]: period too short, but cannot scale up without losing
precision (cfs_period_us = %lld, cfs_quota_us = %lld)\n",
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4412
smp_processor_id(),
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4413 div_u64(old,
NSEC_PER_USEC),
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4414
div_u64(cfs_b->quota, NSEC_PER_USEC));
bdb6fa8234e59d kernel/sched/fair.c Xuewei Zhang 2019-10-03 4415 }
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4416
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4417 /* reset count so
we don't come right back in here */
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4418 count = 0;
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4419 }
33f2a3e176bd50 kernel/sched/fair.c Phil Auld 2019-04-23 4420
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4421 idle =
do_sched_cfs_period_timer(cfs_b, overrun);
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4422 }
4cfafd3082afc7 kernel/sched/fair.c Peter Zijlstra 2015-05-14 4423 if (idle)
4cfafd3082afc7 kernel/sched/fair.c Peter Zijlstra 2015-05-14 4424
cfs_b->period_active = 0;
51f2176d74ace4 kernel/sched/fair.c Ben Segall 2014-05-19 4425
raw_spin_unlock(&cfs_b->lock);
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4426
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4427 return idle ?
HRTIMER_NORESTART : HRTIMER_RESTART;
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 @4428 }
029632fbb7b7c9 kernel/sched_fair.c Peter Zijlstra 2011-10-25 4429
:::::: The code at line 4428 was first introduced by commit
:::::: 029632fbb7b7c9d85063cc9eb470de6c54873df3 sched: Make separate sched*.c translation
units
:::::: TO: Peter Zijlstra <a.p.zijlstra(a)chello.nl>
:::::: CC: Ingo Molnar <mingo(a)elte.hu>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org