Re: [PATCH] perf/core: only check cpuctx with cgroup events during cgroup switch

From: kbuild test robot
Date: Fri Dec 30 2016 - 22:13:26 EST


Hi David,

[auto build test ERROR on tip/perf/core]
[also build test ERROR on v4.10-rc1 next-20161224]
[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/David-Carrillo-Cisneros/perf-core-only-check-cpuctx-with-cgroup-events-during-cgroup-switch/20161231-103433
config: i386-randconfig-x005-201652 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All error/warnings (new ones prefixed by >>):

In file included from include/asm-generic/percpu.h:6:0,
from arch/x86/include/asm/percpu.h:542,
from arch/x86/include/asm/preempt.h:5,
from include/linux/preempt.h:59,
from include/linux/spinlock.h:50,
from include/linux/wait.h:8,
from include/linux/fs.h:5,
from kernel/events/core.c:12:
kernel/events/core.c: In function 'perf_event_init_all_cpus':
>> kernel/events/core.c:10587:27: error: 'cgrp_cpuctx_list' undeclared (first use in this function)
INIT_LIST_HEAD(&per_cpu(cgrp_cpuctx_list, cpu));
^
include/linux/percpu-defs.h:206:47: note: in definition of macro '__verify_pcpu_ptr'
const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
^~~
include/linux/percpu-defs.h:250:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:256:29: note: in expansion of macro 'per_cpu_ptr'
#define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))
^~~~~~~~~~~
>> kernel/events/core.c:10587:19: note: in expansion of macro 'per_cpu'
INIT_LIST_HEAD(&per_cpu(cgrp_cpuctx_list, cpu));
^~~~~~~
kernel/events/core.c:10587:27: note: each undeclared identifier is reported only once for each function it appears in
INIT_LIST_HEAD(&per_cpu(cgrp_cpuctx_list, cpu));
^
include/linux/percpu-defs.h:206:47: note: in definition of macro '__verify_pcpu_ptr'
const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
^~~
include/linux/percpu-defs.h:250:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:256:29: note: in expansion of macro 'per_cpu_ptr'
#define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))
^~~~~~~~~~~
>> kernel/events/core.c:10587:19: note: in expansion of macro 'per_cpu'
INIT_LIST_HEAD(&per_cpu(cgrp_cpuctx_list, cpu));
^~~~~~~

vim +/cgrp_cpuctx_list +10587 kernel/events/core.c

10581 mutex_init(&swhash->hlist_mutex);
10582 INIT_LIST_HEAD(&per_cpu(active_ctx_list, cpu));
10583
10584 INIT_LIST_HEAD(&per_cpu(pmu_sb_events.list, cpu));
10585 raw_spin_lock_init(&per_cpu(pmu_sb_events.lock, cpu));
10586
10587 INIT_LIST_HEAD(&per_cpu(cgrp_cpuctx_list, cpu));
10588 INIT_LIST_HEAD(&per_cpu(sched_cb_list, cpu));
10589 }
10590 }

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip