kernel/sched/fair.c:9458:20: warning: stack frame size (1184) exceeds limit (1024) in 'update_sd_lb_stats'

From: kernel test robot
Date: Fri Jul 21 2023 - 19:46:15 EST


Hi Vincent,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d192f5382581d972c4ae1b4d72e0b59b34cadeb9
commit: c82a69629c53eda5233f13fc11c3c01585ef48a2 sched/fair: fix case with reduced capacity CPU
date: 1 year ago
config: riscv-randconfig-r022-20230722 (https://download.01.org/0day-ci/archive/20230722/202307220719.ftYLcX0c-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project.git f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce: (https://download.01.org/0day-ci/archive/20230722/202307220719.ftYLcX0c-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307220719.ftYLcX0c-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

kernel/sched/fair.c:519:20: warning: unused function 'list_del_leaf_cfs_rq' [-Wunused-function]
static inline void list_del_leaf_cfs_rq(struct cfs_rq *cfs_rq)
^
kernel/sched/fair.c:540:19: warning: unused function 'tg_is_idle' [-Wunused-function]
static inline int tg_is_idle(struct task_group *tg)
^
kernel/sched/fair.c:5587:20: warning: unused function 'cfs_bandwidth_used' [-Wunused-function]
static inline bool cfs_bandwidth_used(void)
^
kernel/sched/fair.c:5595:20: warning: unused function 'sync_throttle' [-Wunused-function]
static inline void sync_throttle(struct task_group *tg, int cpu) {}
^
kernel/sched/fair.c:5620:37: warning: unused function 'tg_cfs_bandwidth' [-Wunused-function]
static inline struct cfs_bandwidth *tg_cfs_bandwidth(struct task_group *tg)
^
kernel/sched/fair.c:5624:20: warning: unused function 'destroy_cfs_bandwidth' [-Wunused-function]
static inline void destroy_cfs_bandwidth(struct cfs_bandwidth *cfs_b) {}
^
>> kernel/sched/fair.c:9458:20: warning: stack frame size (1184) exceeds limit (1024) in 'update_sd_lb_stats' [-Wframe-larger-than]
static inline void update_sd_lb_stats(struct lb_env *env, struct sd_lb_stats *sds)
^
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
error: A dwo section may not contain relocations
fatal error: too many errors emitted, stopping now [-ferror-limit=]
7 warnings and 20 errors generated.


vim +/update_sd_lb_stats +9458 kernel/sched/fair.c

70fb5ccf2ebb09 kernel/sched/fair.c Chen Yu 2022-06-13 9451
1e3c88bdeb1260 kernel/sched_fair.c Peter Zijlstra 2009-12-17 9452 /**
461819ac8ee950 kernel/sched_fair.c Hui Kang 2011-10-11 9453 * update_sd_lb_stats - Update sched_domain's statistics for load balancing.
cd96891d48a945 kernel/sched/fair.c Randy Dunlap 2012-06-08 9454 * @env: The load balancing environment.
1e3c88bdeb1260 kernel/sched_fair.c Peter Zijlstra 2009-12-17 9455 * @sds: variable to hold the statistics for this sched_domain.
1e3c88bdeb1260 kernel/sched_fair.c Peter Zijlstra 2009-12-17 9456 */
0b0695f2b34a4a kernel/sched/fair.c Vincent Guittot 2019-10-18 9457
0ec8aa00f2b4dc kernel/sched/fair.c Peter Zijlstra 2013-10-07 @9458 static inline void update_sd_lb_stats(struct lb_env *env, struct sd_lb_stats *sds)
1e3c88bdeb1260 kernel/sched_fair.c Peter Zijlstra 2009-12-17 9459 {
bd939f45da24e2 kernel/sched/fair.c Peter Zijlstra 2012-05-02 9460 struct sched_domain *child = env->sd->child;
bd939f45da24e2 kernel/sched/fair.c Peter Zijlstra 2012-05-02 9461 struct sched_group *sg = env->sd->groups;
05b40e05773481 kernel/sched/fair.c Srikar Dronamraju 2017-03-22 9462 struct sg_lb_stats *local = &sds->local_stat;
56cf515b4b1567 kernel/sched/fair.c Joonsoo Kim 2013-08-06 9463 struct sg_lb_stats tmp_sgs;
70fb5ccf2ebb09 kernel/sched/fair.c Chen Yu 2022-06-13 9464 unsigned long sum_util = 0;
630246a06ae2a7 kernel/sched/fair.c Quentin Perret 2018-12-03 9465 int sg_status = 0;
1e3c88bdeb1260 kernel/sched_fair.c Peter Zijlstra 2009-12-17 9466
1e3c88bdeb1260 kernel/sched_fair.c Peter Zijlstra 2009-12-17 9467 do {
56cf515b4b1567 kernel/sched/fair.c Joonsoo Kim 2013-08-06 9468 struct sg_lb_stats *sgs = &tmp_sgs;
1e3c88bdeb1260 kernel/sched_fair.c Peter Zijlstra 2009-12-17 9469 int local_group;
1e3c88bdeb1260 kernel/sched_fair.c Peter Zijlstra 2009-12-17 9470
ae4df9d6c93510 kernel/sched/fair.c Peter Zijlstra 2017-05-01 9471 local_group = cpumask_test_cpu(env->dst_cpu, sched_group_span(sg));
56cf515b4b1567 kernel/sched/fair.c Joonsoo Kim 2013-08-06 9472 if (local_group) {
56cf515b4b1567 kernel/sched/fair.c Joonsoo Kim 2013-08-06 9473 sds->local = sg;
05b40e05773481 kernel/sched/fair.c Srikar Dronamraju 2017-03-22 9474 sgs = local;
b72ff13ce6021b kernel/sched/fair.c Peter Zijlstra 2013-08-28 9475
b72ff13ce6021b kernel/sched/fair.c Peter Zijlstra 2013-08-28 9476 if (env->idle != CPU_NEWLY_IDLE ||
63b2ca30bdb3db kernel/sched/fair.c Nicolas Pitre 2014-05-26 9477 time_after_eq(jiffies, sg->sgc->next_update))
63b2ca30bdb3db kernel/sched/fair.c Nicolas Pitre 2014-05-26 9478 update_group_capacity(env->sd, env->dst_cpu);
56cf515b4b1567 kernel/sched/fair.c Joonsoo Kim 2013-08-06 9479 }
1e3c88bdeb1260 kernel/sched_fair.c Peter Zijlstra 2009-12-17 9480
c0d14b57fe0c11 kernel/sched/fair.c Ricardo Neri 2021-09-10 9481 update_sg_lb_stats(env, sds, sg, sgs, &sg_status);
1e3c88bdeb1260 kernel/sched_fair.c Peter Zijlstra 2009-12-17 9482
b72ff13ce6021b kernel/sched/fair.c Peter Zijlstra 2013-08-28 9483 if (local_group)
b72ff13ce6021b kernel/sched/fair.c Peter Zijlstra 2013-08-28 9484 goto next_group;
b72ff13ce6021b kernel/sched/fair.c Peter Zijlstra 2013-08-28 9485
1e3c88bdeb1260 kernel/sched_fair.c Peter Zijlstra 2009-12-17 9486
b72ff13ce6021b kernel/sched/fair.c Peter Zijlstra 2013-08-28 9487 if (update_sd_pick_busiest(env, sds, sg, sgs)) {
532cb4c401e225 kernel/sched_fair.c Michael Neuling 2010-06-08 9488 sds->busiest = sg;
56cf515b4b1567 kernel/sched/fair.c Joonsoo Kim 2013-08-06 9489 sds->busiest_stat = *sgs;
1e3c88bdeb1260 kernel/sched_fair.c Peter Zijlstra 2009-12-17 9490 }
1e3c88bdeb1260 kernel/sched_fair.c Peter Zijlstra 2009-12-17 9491
b72ff13ce6021b kernel/sched/fair.c Peter Zijlstra 2013-08-28 9492 next_group:
b72ff13ce6021b kernel/sched/fair.c Peter Zijlstra 2013-08-28 9493 /* Now, start updating sd_lb_stats */
b72ff13ce6021b kernel/sched/fair.c Peter Zijlstra 2013-08-28 9494 sds->total_load += sgs->group_load;
63b2ca30bdb3db kernel/sched/fair.c Nicolas Pitre 2014-05-26 9495 sds->total_capacity += sgs->group_capacity;
b72ff13ce6021b kernel/sched/fair.c Peter Zijlstra 2013-08-28 9496
70fb5ccf2ebb09 kernel/sched/fair.c Chen Yu 2022-06-13 9497 sum_util += sgs->group_util;
532cb4c401e225 kernel/sched_fair.c Michael Neuling 2010-06-08 9498 sg = sg->next;
bd939f45da24e2 kernel/sched/fair.c Peter Zijlstra 2012-05-02 9499 } while (sg != env->sd->groups);
0ec8aa00f2b4dc kernel/sched/fair.c Peter Zijlstra 2013-10-07 9500
0b0695f2b34a4a kernel/sched/fair.c Vincent Guittot 2019-10-18 9501 /* Tag domain that child domain prefers tasks go to siblings first */
0b0695f2b34a4a kernel/sched/fair.c Vincent Guittot 2019-10-18 9502 sds->prefer_sibling = child && child->flags & SD_PREFER_SIBLING;
0b0695f2b34a4a kernel/sched/fair.c Vincent Guittot 2019-10-18 9503
f643ea2207010d kernel/sched/fair.c Vincent Guittot 2018-02-13 9504
0ec8aa00f2b4dc kernel/sched/fair.c Peter Zijlstra 2013-10-07 9505 if (env->sd->flags & SD_NUMA)
0ec8aa00f2b4dc kernel/sched/fair.c Peter Zijlstra 2013-10-07 9506 env->fbq_type = fbq_classify_group(&sds->busiest_stat);
4486edd12b5ac8 kernel/sched/fair.c Tim Chen 2014-06-23 9507
4486edd12b5ac8 kernel/sched/fair.c Tim Chen 2014-06-23 9508 if (!env->sd->parent) {
2802bf3cd936fe kernel/sched/fair.c Morten Rasmussen 2018-12-03 9509 struct root_domain *rd = env->dst_rq->rd;
2802bf3cd936fe kernel/sched/fair.c Morten Rasmussen 2018-12-03 9510
4486edd12b5ac8 kernel/sched/fair.c Tim Chen 2014-06-23 9511 /* update overload indicator if we are at root domain */
2802bf3cd936fe kernel/sched/fair.c Morten Rasmussen 2018-12-03 9512 WRITE_ONCE(rd->overload, sg_status & SG_OVERLOAD);
2802bf3cd936fe kernel/sched/fair.c Morten Rasmussen 2018-12-03 9513
2802bf3cd936fe kernel/sched/fair.c Morten Rasmussen 2018-12-03 9514 /* Update over-utilization (tipping point, U >= 0) indicator */
2802bf3cd936fe kernel/sched/fair.c Morten Rasmussen 2018-12-03 9515 WRITE_ONCE(rd->overutilized, sg_status & SG_OVERUTILIZED);
f9f240f96efc5b kernel/sched/fair.c Qais Yousef 2019-06-04 9516 trace_sched_overutilized_tp(rd, sg_status & SG_OVERUTILIZED);
2802bf3cd936fe kernel/sched/fair.c Morten Rasmussen 2018-12-03 9517 } else if (sg_status & SG_OVERUTILIZED) {
f9f240f96efc5b kernel/sched/fair.c Qais Yousef 2019-06-04 9518 struct root_domain *rd = env->dst_rq->rd;
f9f240f96efc5b kernel/sched/fair.c Qais Yousef 2019-06-04 9519
f9f240f96efc5b kernel/sched/fair.c Qais Yousef 2019-06-04 9520 WRITE_ONCE(rd->overutilized, SG_OVERUTILIZED);
f9f240f96efc5b kernel/sched/fair.c Qais Yousef 2019-06-04 9521 trace_sched_overutilized_tp(rd, SG_OVERUTILIZED);
4486edd12b5ac8 kernel/sched/fair.c Tim Chen 2014-06-23 9522 }
70fb5ccf2ebb09 kernel/sched/fair.c Chen Yu 2022-06-13 9523
70fb5ccf2ebb09 kernel/sched/fair.c Chen Yu 2022-06-13 9524 update_idle_cpu_scan(env, sum_util);
532cb4c401e225 kernel/sched_fair.c Michael Neuling 2010-06-08 9525 }
532cb4c401e225 kernel/sched_fair.c Michael Neuling 2010-06-08 9526

:::::: The code at line 9458 was first introduced by commit
:::::: 0ec8aa00f2b4dc457836ef4e2662b02483e94fb7 sched/numa: Avoid migrating tasks that are placed on their preferred node

:::::: TO: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
:::::: CC: Ingo Molnar <mingo@xxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki