From: kbuild test robot <lkp@intel.com>
To: zhangq95 <qiangzh.hust@gmail.com>
Cc: kbuild-all@01.org, linux-kernel@vger.kernel.org, tj@kernel.org,
lizefan@huawei.com, hannes@cmpxchg.org, mingo@redhat.com,
peterz@infradead.org, cgroups@vger.kernel.org, riel@redhat.com,
gs051095@gmail.com, akpm@linux-foundation.org, oleg@redhat.com,
tglx@linutronix.de, keescook@chromium.org,
gregkh@linuxfoundation.org, longman@redhat.com,
prsood@codeaurora.org, guro@fb.com, davem@davemloft.net,
mhocko@suse.com, kirill.shutemov@linux.intel.com,
marcos.souza.org@gmail.com, hoeun.ryu@gmail.com,
rostedt@goodmis.org, bigeasy@linutronix.de,
alexander.levin@verizon.com, paulmck@linux.vnet.ibm.com,
fweisbec@gmail.com, zhangq95 <qiangzh.hust@gmail.com>
Subject: Re: [PATCH] Add a file named cgroup.procs_stat in cgroup
Date: Sat, 5 May 2018 15:15:07 +0800 [thread overview]
Message-ID: <201805051345.lbfSFpSU%fengguang.wu@intel.com> (raw)
In-Reply-To: <1525444100-4858-1-git-send-email-qiangzh.hust@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 5926 bytes --]
Hi zhangq95,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v4.17-rc3]
[cannot apply to cgroup/for-next]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/zhangq95/Add-a-file-named-cgroup-procs_stat-in-cgroup/20180505-115518
config: i386-randconfig-x076-201817 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All errors (new ones prefixed by >>):
kernel/cgroup/cgroup-v1.c: In function 'cgroup_procs_stat_show':
kernel/cgroup/cgroup-v1.c:634:11: warning: return makes integer from pointer without a cast [-Wint-conversion]
return ERR_PTR(ret);
^~~~~~~~~~~~
>> kernel/cgroup/cgroup-v1.c:645:21: error: 'cpuset_cgrp_id' undeclared (first use in this function); did you mean 'cpu_cgrp_id'?
if (task_css(tsk, cpuset_cgrp_id)) {
^~~~~~~~~~~~~~
cpu_cgrp_id
kernel/cgroup/cgroup-v1.c:645:21: note: each undeclared identifier is reported only once for each function it appears in
kernel/cgroup/cgroup-v1.c:647:4: error: implicit declaration of function 'get_tsk_cpu_allowed'; did you mean 'do_set_cpus_allowed'? [-Werror=implicit-function-declaration]
get_tsk_cpu_allowed(tsk, &cpus_allowed);
^~~~~~~~~~~~~~~~~~~
do_set_cpus_allowed
kernel/cgroup/cgroup-v1.c:655:5: error: 'CPUACCT_PROCS_SWITCHES' undeclared (first use in this function)
CPUACCT_PROCS_SWITCHES, 0);
^~~~~~~~~~~~~~~~~~~~~~
kernel/cgroup/cgroup-v1.c:657:5: error: 'CPUACCT_PROCS_FORKS' undeclared (first use in this function); did you mean 'CPUACCT_PROCS_SWITCHES'?
CPUACCT_PROCS_FORKS, 0);
^~~~~~~~~~~~~~~~~~~
CPUACCT_PROCS_SWITCHES
kernel/cgroup/cgroup-v1.c:659:5: error: 'CPUACCT_PROCS_RUNNING' undeclared (first use in this function); did you mean 'CPUACCT_PROCS_FORKS'?
CPUACCT_PROCS_RUNNING, 0);
^~~~~~~~~~~~~~~~~~~~~
CPUACCT_PROCS_FORKS
kernel/cgroup/cgroup-v1.c:661:5: error: 'CPUACCT_PROCS_IOWAIT' undeclared (first use in this function); did you mean 'CPUACCT_PROCS_FORKS'?
CPUACCT_PROCS_IOWAIT, 0);
^~~~~~~~~~~~~~~~~~~~
CPUACCT_PROCS_FORKS
cc1: some warnings being treated as errors
vim +645 kernel/cgroup/cgroup-v1.c
609
610 static int cgroup_procs_stat_show(struct seq_file *s, void *v)
611 {
612 struct kernfs_open_file *of = s->private;
613 struct cgroup *cgrp = seq_css(s)->cgroup;
614 struct cgroup_pidlist *l;
615 enum cgroup_filetype type = seq_cft(s)->private;
616 struct task_struct *tsk;
617 int ret, i = 0, j = 0, tmp = 0;
618 unsigned long forks = 0, iowait = 0, nr_runnable = 0;
619 pid_t *start;
620 struct timespec64 boottime;
621 unsigned long long start_time, switches = 0;
622 unsigned long per_softirq_nums[NR_SOFTIRQS] = {0};
623 unsigned long sum_softirq = 0;
624 struct cpumask cpus_allowed;
625
626 mutex_lock(&cgrp->pidlist_mutex);
627 if (of->priv)
628 of->priv = cgroup_pidlist_find(cgrp, type);
629
630 if (!of->priv) {
631 ret = pidlist_array_load(cgrp, type,
632 (struct cgroup_pidlist **)&of->priv);
633 if (ret)
> 634 return ERR_PTR(ret);
635 }
636 l = of->priv;
637
638 start = l->list;
639
640 tsk = find_task_by_pid_ns(*start, &init_pid_ns);
641 getboottime64(&boottime);
642
643 if (in_noninit_pid_ns(tsk) &&
644 task_in_nonroot_cpuacct(tsk)) {
> 645 if (task_css(tsk, cpuset_cgrp_id)) {
646 memset(&cpus_allowed, 0, sizeof(cpus_allowed));
647 get_tsk_cpu_allowed(tsk, &cpus_allowed);
648 }
649
650 start_time = tsk->real_start_time / NSEC_PER_SEC;
651 start_time += (unsigned long long)boottime.tv_sec;
652
653 for_each_cpu_and(i, cpu_possible_mask, &cpus_allowed) {
654 switches += task_ca_procs_stat(tsk, i,
655 CPUACCT_PROCS_SWITCHES, 0);
656 forks += task_ca_procs_stat(tsk, i,
657 CPUACCT_PROCS_FORKS, 0);
658 nr_runnable += task_ca_procs_stat(tsk, i,
659 CPUACCT_PROCS_RUNNING, 0);
660 iowait += task_ca_procs_stat(tsk, i,
661 CPUACCT_PROCS_IOWAIT, 0);
662
663 for (j = 0; j < NR_SOFTIRQS; j++) {
664 tmp = task_ca_procs_stat(tsk, i, j, 1);
665 per_softirq_nums[j] += tmp;
666 sum_softirq += tmp;
667 }
668 }
669
670 } else {
671 cpumask_copy(&cpus_allowed, cpu_possible_mask);
672 nr_runnable = nr_running();
673 forks = total_forks;
674 iowait = nr_iowait();
675 switches = nr_context_switches();
676 start_time = (unsigned long long)boottime.tv_sec;
677
678 for (j = 0; j < NR_SOFTIRQS; j++) {
679 unsigned long softirq_stat = kstat_softirqs_cpu(j, i);
680
681 per_softirq_nums[j] += softirq_stat;
682 sum_softirq += softirq_stat;
683 }
684 }
685
686 seq_printf(s, "softirq %lu ", sum_softirq);
687 for (j = 0; j < NR_SOFTIRQS; j++)
688 seq_printf(s, "%lu ", per_softirq_nums[j]);
689
690 seq_puts(s, "\n");
691 seq_printf(s,
692 "ctxt %llu\n"
693 "btime %llu\n"
694 "processes %lu\n"
695 "procs_running %lu\n"
696 "procs_blocked %lu\n",
697 switches,
698 start_time,
699 forks,
700 nr_runnable,
701 iowait);
702
703 mod_delayed_work(cgroup_pidlist_destroy_wq, &l->destroy_dwork,
704 CGROUP_PIDLIST_DESTROY_DELAY);
705 mutex_unlock(&cgrp->pidlist_mutex);
706
707 return 0;
708 }
709
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 32369 bytes --]
next prev parent reply other threads:[~2018-05-05 7:16 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-04 14:28 [PATCH] Add a file named cgroup.procs_stat in cgroup zhangq95
2018-05-04 15:43 ` Peter Zijlstra
2018-05-04 17:31 ` Greg KH
2018-05-05 7:15 ` kbuild test robot [this message]
2018-05-05 7:15 ` kbuild test robot
2018-05-05 7:34 ` kbuild test robot
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=201805051345.lbfSFpSU%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=alexander.levin@verizon.com \
--cc=bigeasy@linutronix.de \
--cc=cgroups@vger.kernel.org \
--cc=davem@davemloft.net \
--cc=fweisbec@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=gs051095@gmail.com \
--cc=guro@fb.com \
--cc=hannes@cmpxchg.org \
--cc=hoeun.ryu@gmail.com \
--cc=kbuild-all@01.org \
--cc=keescook@chromium.org \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=longman@redhat.com \
--cc=marcos.souza.org@gmail.com \
--cc=mhocko@suse.com \
--cc=mingo@redhat.com \
--cc=oleg@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=prsood@codeaurora.org \
--cc=qiangzh.hust@gmail.com \
--cc=riel@redhat.com \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=tj@kernel.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.