lkml.org 
[lkml]   [2022]   [May]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v2] sched/core: add forced idle accounting for cgroups
On Mon, May 23, 2022 at 4:28 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
>
> Hi Josh,
>
> url: https://github.com/intel-lab-lkp/linux/commits/Josh-Don/sched-core-add-forced-idle-accounting-for-cgroups/20220521-075311
> base: https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-next
> config: x86_64-randconfig-m001 (https://download.01.org/0day-ci/archive/20220521/202205211525.XlF6P8dM-lkp@intel.com/config)
> compiler: gcc-11 (Debian 11.3.0-1) 11.3.0
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> smatch warnings:
> kernel/cgroup/rstat.c:489 cgroup_base_stat_cputime_show() error: uninitialized symbol 'forceidle_time'.
>
> vim +/forceidle_time +489 kernel/cgroup/rstat.c
>
> d4ff749b5e0f1e kernel/cgroup/rstat.c Tejun Heo 2018-04-26 460 void cgroup_base_stat_cputime_show(struct seq_file *seq)
> 041cd640b2f3c5 kernel/cgroup/stat.c Tejun Heo 2017-09-25 461 {
> 041cd640b2f3c5 kernel/cgroup/stat.c Tejun Heo 2017-09-25 462 struct cgroup *cgrp = seq_css(seq)->cgroup;
> 041cd640b2f3c5 kernel/cgroup/stat.c Tejun Heo 2017-09-25 463 u64 usage, utime, stime;
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 464 struct cgroup_base_stat bstat;
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 465 u64 __maybe_unused forceidle_time;
> 041cd640b2f3c5 kernel/cgroup/stat.c Tejun Heo 2017-09-25 466
> 936f2a70f2077f kernel/cgroup/rstat.c Boris Burkov 2020-05-27 467 if (cgroup_parent(cgrp)) {
> 6162cef0f741c7 kernel/cgroup/rstat.c Tejun Heo 2018-04-26 468 cgroup_rstat_flush_hold(cgrp);
> d4ff749b5e0f1e kernel/cgroup/rstat.c Tejun Heo 2018-04-26 469 usage = cgrp->bstat.cputime.sum_exec_runtime;
> 936f2a70f2077f kernel/cgroup/rstat.c Boris Burkov 2020-05-27 470 cputime_adjust(&cgrp->bstat.cputime, &cgrp->prev_cputime,
> 936f2a70f2077f kernel/cgroup/rstat.c Boris Burkov 2020-05-27 471 &utime, &stime);
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 472 #ifdef CONFIG_SCHED_CORE
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 473 forceidle_time = cgrp->bstat.forceidle_sum;
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 474 #endif
> 6162cef0f741c7 kernel/cgroup/rstat.c Tejun Heo 2018-04-26 475 cgroup_rstat_flush_release();
> 936f2a70f2077f kernel/cgroup/rstat.c Boris Burkov 2020-05-27 476 } else {
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 477 root_cgroup_cputime(&bstat);
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 478 usage = bstat.cputime.sum_exec_runtime;
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 479 utime = bstat.cputime.utime;
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 480 stime = bstat.cputime.stime;
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 481 #ifdef CONFIG_SCHED_CORE
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 482 forceidle_time = bstat.forceidle_sum;
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 483 #endif
> 936f2a70f2077f kernel/cgroup/rstat.c Boris Burkov 2020-05-27 484 }
> 041cd640b2f3c5 kernel/cgroup/stat.c Tejun Heo 2017-09-25 485
> 041cd640b2f3c5 kernel/cgroup/stat.c Tejun Heo 2017-09-25 486 do_div(usage, NSEC_PER_USEC);
> 041cd640b2f3c5 kernel/cgroup/stat.c Tejun Heo 2017-09-25 487 do_div(utime, NSEC_PER_USEC);
> 041cd640b2f3c5 kernel/cgroup/stat.c Tejun Heo 2017-09-25 488 do_div(stime, NSEC_PER_USEC);
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 @489 do_div(forceidle_time, NSEC_PER_USEC);
>
> I think this will cause MEMSan warnings at run time.

Whoops, I missed wrapping this usage with an #ifdef CONFIG_SCHED_CORE.

> 041cd640b2f3c5 kernel/cgroup/stat.c Tejun Heo 2017-09-25 490
> d41bf8c9deaed1 kernel/cgroup/stat.c Tejun Heo 2017-10-23 491 seq_printf(seq, "usage_usec %llu\n"
> d41bf8c9deaed1 kernel/cgroup/stat.c Tejun Heo 2017-10-23 492 "user_usec %llu\n"
> d41bf8c9deaed1 kernel/cgroup/stat.c Tejun Heo 2017-10-23 493 "system_usec %llu\n",
> d41bf8c9deaed1 kernel/cgroup/stat.c Tejun Heo 2017-10-23 494 usage, utime, stime);
> 0575a42c9f10cd kernel/cgroup/rstat.c Josh Don 2022-05-20 495
>
> --
> 0-DAY CI Kernel Test Service
> https://01.org/lkp
>

\
 
 \ /
  Last update: 2022-05-23 23:22    [W:1.005 / U:0.660 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site