Hi Johannes, [auto build test ERROR on next-20170616] [cannot apply to linus/master linux/master v4.9-rc8 v4.9-rc7 v4.9-rc6 v4.12-rc5] [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/Johannes-Weiner/mm-memcontrol-per-lruvec-stats-infrastructure-fix-4/20170618-012558 config: x86_64-randconfig-i0-201725 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): scripts/Makefile.kasan:25: CONFIG_KASAN: compiler does not support all options. Trying minimal configuration scripts/Makefile.kasan:25: CONFIG_KASAN: compiler does not support all options. Trying minimal configuration In file included from include/linux/mm.h:1032:0, from include/linux/highmem.h:7, from include/linux/bio.h:21, from include/linux/writeback.h:205, from include/linux/memcontrol.h:28, from include/linux/swap.h:8, from include/linux/suspend.h:4, from arch/x86/kernel/asm-offsets.c:12: include/linux/vmstat.h: In function 'lruvec_page_state': include/linux/vmstat.h:362:2: error: implicit declaration of function 'mem_cgroup_disabled' [-Werror=implicit-function-declaration] if (mem_cgroup_disabled()) ^ In file included from arch/x86/include/asm/atomic.h:4:0, from include/linux/atomic.h:4, from include/linux/crypto.h:20, from arch/x86/kernel/asm-offsets.c:8: include/linux/kernel.h:859:51: error: dereferencing pointer to incomplete type BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^ include/linux/compiler.h:517:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^ include/linux/compiler.h:537:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/build_bug.h:46:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ include/linux/kernel.h:859:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^ include/linux/kernel.h:859:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^ include/linux/vmstat.h:365:7: note: in expansion of macro 'container_of' pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); ^ In file included from include/linux/compiler.h:58:0, from arch/x86/include/asm/atomic.h:4, from include/linux/atomic.h:4, from include/linux/crypto.h:20, from arch/x86/kernel/asm-offsets.c:8: include/linux/vmstat.h:365:35: error: invalid use of undefined type 'struct mem_cgroup_per_node' pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); ^ include/linux/compiler-gcc.h:161:21: note: in definition of macro '__compiler_offsetof' __builtin_offsetof(a, b) ^ include/linux/kernel.h:862:28: note: in expansion of macro 'offsetof' ((type *)((char *)(ptr) - offsetof(type, member))); }) ^ include/linux/vmstat.h:365:7: note: in expansion of macro 'container_of' pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); ^ 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:80, from include/linux/spinlock.h:50, from include/linux/mmzone.h:7, from include/linux/gfp.h:5, from include/linux/slab.h:14, from include/linux/crypto.h:24, from arch/x86/kernel/asm-offsets.c:8: >> include/linux/vmstat.h:367:20: error: dereferencing pointer to incomplete >> type val += per_cpu(pn->lruvec_stat->count[idx], 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:256:29: note: in expansion of macro 'per_cpu_ptr' #define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu)) ^ >> include/linux/vmstat.h:367:10: note: in expansion of macro 'per_cpu' val += per_cpu(pn->lruvec_stat->count[idx], cpu); ^ In file included from include/linux/compiler.h:58:0, from arch/x86/include/asm/atomic.h:4, from include/linux/atomic.h:4, from include/linux/crypto.h:20, from arch/x86/kernel/asm-offsets.c:8: >> include/linux/vmstat.h:367:20: error: dereferencing pointer to incomplete >> type val += per_cpu(pn->lruvec_stat->count[idx], cpu); ^ include/linux/compiler-gcc.h:52:34: note: in definition of macro 'RELOC_HIDE' __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ ^ include/linux/percpu-defs.h:223:2: note: in expansion of macro 'SHIFT_PERCPU_PTR' SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))); \ ^ 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)) ^ >> include/linux/vmstat.h:367:10: note: in expansion of macro 'per_cpu' val += per_cpu(pn->lruvec_stat->count[idx], cpu); ^ >> include/linux/vmstat.h:367:20: error: dereferencing pointer to incomplete >> type val += per_cpu(pn->lruvec_stat->count[idx], cpu); ^ include/linux/compiler-gcc.h:52:34: note: in definition of macro 'RELOC_HIDE' __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ ^ include/linux/percpu-defs.h:223:2: note: in expansion of macro 'SHIFT_PERCPU_PTR' SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))); \ ^ 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)) ^ >> include/linux/vmstat.h:367:10: note: in expansion of macro 'per_cpu' val += per_cpu(pn->lruvec_stat->count[idx], cpu); ^ >> include/linux/vmstat.h:367:20: error: dereferencing pointer to incomplete >> type val += per_cpu(pn->lruvec_stat->count[idx], cpu); ^ include/linux/compiler-gcc.h:53:10: note: in definition of macro 'RELOC_HIDE' (typeof(ptr)) (__ptr + (off)); \ ^ include/linux/percpu-defs.h:223:2: note: in expansion of macro 'SHIFT_PERCPU_PTR' SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))); \ ^ 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)) ^ >> include/linux/vmstat.h:367:10: note: in expansion of macro 'per_cpu' val += per_cpu(pn->lruvec_stat->count[idx], cpu); ^ >> include/linux/vmstat.h:367:20: error: dereferencing pointer to incomplete >> type val += per_cpu(pn->lruvec_stat->count[idx], cpu); ^ include/linux/compiler-gcc.h:53:10: note: in definition of macro 'RELOC_HIDE' (typeof(ptr)) (__ptr + (off)); \ ^ include/linux/percpu-defs.h:223:2: note: in expansion of macro 'SHIFT_PERCPU_PTR' SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))); \ ^ 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)) ^ >> include/linux/vmstat.h:367:10: note: in expansion of macro 'per_cpu' val += per_cpu(pn->lruvec_stat->count[idx], cpu); ^ In file included from arch/x86/include/asm/atomic.h:4:0, from include/linux/atomic.h:4, from include/linux/crypto.h:20, from arch/x86/kernel/asm-offsets.c:8: include/linux/vmstat.h: In function '__mod_lruvec_state': include/linux/kernel.h:859:51: error: dereferencing pointer to incomplete type BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^ include/linux/compiler.h:517:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^ include/linux/compiler.h:537:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/build_bug.h:46:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ include/linux/kernel.h:859:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^ include/linux/kernel.h:859:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^ include/linux/vmstat.h:383:7: note: in expansion of macro 'container_of' pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); ^ In file included from include/linux/compiler.h:58:0, from arch/x86/include/asm/atomic.h:4, from include/linux/atomic.h:4, from include/linux/crypto.h:20, from arch/x86/kernel/asm-offsets.c:8: include/linux/vmstat.h:383:35: error: invalid use of undefined type 'struct mem_cgroup_per_node' pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); ^ include/linux/compiler-gcc.h:161:21: note: in definition of macro '__compiler_offsetof' __builtin_offsetof(a, b) ^ include/linux/kernel.h:862:28: note: in expansion of macro 'offsetof' ((type *)((char *)(ptr) - offsetof(type, member))); }) ^ include/linux/vmstat.h:383:7: note: in expansion of macro 'container_of' pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); ^ In file included from include/linux/mm.h:1032:0, from include/linux/highmem.h:7, from include/linux/bio.h:21, from include/linux/writeback.h:205, from include/linux/memcontrol.h:28, from include/linux/swap.h:8, from include/linux/suspend.h:4, from arch/x86/kernel/asm-offsets.c:12: include/linux/vmstat.h:384:2: error: implicit declaration of function '__mod_memcg_state' [-Werror=implicit-function-declaration] __mod_memcg_state(pn->memcg, idx, val); ^ include/linux/vmstat.h:384:22: error: dereferencing pointer to incomplete type __mod_memcg_state(pn->memcg, idx, val); ^ 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:80, from include/linux/spinlock.h:50, from include/linux/mmzone.h:7, from include/linux/gfp.h:5, from include/linux/slab.h:14, from include/linux/crypto.h:24, from arch/x86/kernel/asm-offsets.c:8: include/linux/vmstat.h:385:19: error: dereferencing pointer to incomplete type __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ 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:409:32: note: in expansion of macro '__pcpu_size_call' #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val) ^ include/linux/percpu-defs.h:445:2: note: in expansion of macro 'raw_cpu_add' raw_cpu_add(pcp, val); \ ^ include/linux/vmstat.h:385:2: note: in expansion of macro '__this_cpu_add' __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ include/linux/vmstat.h:385:19: error: dereferencing pointer to incomplete type __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ include/linux/percpu-defs.h:363:16: note: in definition of macro '__pcpu_size_call' switch(sizeof(variable)) { \ ^ include/linux/percpu-defs.h:445:2: note: in expansion of macro 'raw_cpu_add' raw_cpu_add(pcp, val); \ ^ include/linux/vmstat.h:385:2: note: in expansion of macro '__this_cpu_add' __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ In file included from arch/x86/include/asm/preempt.h:5:0, from include/linux/preempt.h:80, from include/linux/spinlock.h:50, from include/linux/mmzone.h:7, from include/linux/gfp.h:5, from include/linux/slab.h:14, from include/linux/crypto.h:24, from arch/x86/kernel/asm-offsets.c:8: include/linux/vmstat.h:385:19: error: dereferencing pointer to incomplete type __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ arch/x86/include/asm/percpu.h:128:17: note: in definition of macro 'percpu_add_op' typedef typeof(var) pao_T__; \ ^ >> include/linux/percpu-defs.h:364:11: note: in expansion of macro >> 'raw_cpu_add_1' case 1: stem##1(variable, __VA_ARGS__);break; \ ^ include/linux/percpu-defs.h:409:32: note: in expansion of macro '__pcpu_size_call' #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val) ^ include/linux/percpu-defs.h:445:2: note: in expansion of macro 'raw_cpu_add' raw_cpu_add(pcp, val); \ ^ include/linux/vmstat.h:385:2: note: in expansion of macro '__this_cpu_add' __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ include/linux/vmstat.h:385:19: error: dereferencing pointer to incomplete type __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ arch/x86/include/asm/percpu.h:137:17: note: in definition of macro 'percpu_add_op' switch (sizeof(var)) { \ ^ >> include/linux/percpu-defs.h:364:11: note: in expansion of macro >> 'raw_cpu_add_1' case 1: stem##1(variable, __VA_ARGS__);break; \ ^ include/linux/percpu-defs.h:409:32: note: in expansion of macro '__pcpu_size_call' #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val) ^ include/linux/percpu-defs.h:445:2: note: in expansion of macro 'raw_cpu_add' raw_cpu_add(pcp, val); \ ^ include/linux/vmstat.h:385:2: note: in expansion of macro '__this_cpu_add' __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ include/linux/vmstat.h:385:19: error: dereferencing pointer to incomplete type __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ arch/x86/include/asm/percpu.h:140:39: note: in definition of macro 'percpu_add_op' asm("incb "__percpu_arg(0) : "+m" (var)); \ ^ >> include/linux/percpu-defs.h:364:11: note: in expansion of macro >> 'raw_cpu_add_1' case 1: stem##1(variable, __VA_ARGS__);break; \ ^ include/linux/percpu-defs.h:409:32: note: in expansion of macro '__pcpu_size_call' #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val) ^ include/linux/percpu-defs.h:445:2: note: in expansion of macro 'raw_cpu_add' raw_cpu_add(pcp, val); \ ^ include/linux/vmstat.h:385:2: note: in expansion of macro '__this_cpu_add' __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ include/linux/vmstat.h:385:19: error: dereferencing pointer to incomplete type __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ arch/x86/include/asm/percpu.h:142:39: note: in definition of macro 'percpu_add_op' asm("decb "__percpu_arg(0) : "+m" (var)); \ ^ >> include/linux/percpu-defs.h:364:11: note: in expansion of macro >> 'raw_cpu_add_1' case 1: stem##1(variable, __VA_ARGS__);break; \ ^ include/linux/percpu-defs.h:409:32: note: in expansion of macro '__pcpu_size_call' #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val) ^ include/linux/percpu-defs.h:445:2: note: in expansion of macro 'raw_cpu_add' raw_cpu_add(pcp, val); \ ^ include/linux/vmstat.h:385:2: note: in expansion of macro '__this_cpu_add' __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ include/linux/vmstat.h:385:19: error: dereferencing pointer to incomplete type __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ arch/x86/include/asm/percpu.h:145:16: note: in definition of macro 'percpu_add_op' : "+m" (var) \ ^ >> include/linux/percpu-defs.h:364:11: note: in expansion of macro >> 'raw_cpu_add_1' case 1: stem##1(variable, __VA_ARGS__);break; \ ^ include/linux/percpu-defs.h:409:32: note: in expansion of macro '__pcpu_size_call' #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val) ^ include/linux/percpu-defs.h:445:2: note: in expansion of macro 'raw_cpu_add' raw_cpu_add(pcp, val); \ ^ include/linux/vmstat.h:385:2: note: in expansion of macro '__this_cpu_add' __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ include/linux/vmstat.h:385:19: error: dereferencing pointer to incomplete type __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ arch/x86/include/asm/percpu.h:150:39: note: in definition of macro 'percpu_add_op' asm("incw "__percpu_arg(0) : "+m" (var)); \ ^ >> include/linux/percpu-defs.h:364:11: note: in expansion of macro >> 'raw_cpu_add_1' case 1: stem##1(variable, __VA_ARGS__);break; \ ^ include/linux/percpu-defs.h:409:32: note: in expansion of macro '__pcpu_size_call' #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val) ^ include/linux/percpu-defs.h:445:2: note: in expansion of macro 'raw_cpu_add' raw_cpu_add(pcp, val); \ ^ include/linux/vmstat.h:385:2: note: in expansion of macro '__this_cpu_add' __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ include/linux/vmstat.h:385:19: error: dereferencing pointer to incomplete type __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ arch/x86/include/asm/percpu.h:152:39: note: in definition of macro 'percpu_add_op' asm("decw "__percpu_arg(0) : "+m" (var)); \ ^ >> include/linux/percpu-defs.h:364:11: note: in expansion of macro >> 'raw_cpu_add_1' case 1: stem##1(variable, __VA_ARGS__);break; \ ^ include/linux/percpu-defs.h:409:32: note: in expansion of macro '__pcpu_size_call' #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val) ^ include/linux/percpu-defs.h:445:2: note: in expansion of macro 'raw_cpu_add' raw_cpu_add(pcp, val); \ ^ include/linux/vmstat.h:385:2: note: in expansion of macro '__this_cpu_add' __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ include/linux/vmstat.h:385:19: error: dereferencing pointer to incomplete type __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ arch/x86/include/asm/percpu.h:155:16: note: in definition of macro 'percpu_add_op' : "+m" (var) \ ^ >> include/linux/percpu-defs.h:364:11: note: in expansion of macro >> 'raw_cpu_add_1' case 1: stem##1(variable, __VA_ARGS__);break; \ ^ include/linux/percpu-defs.h:409:32: note: in expansion of macro '__pcpu_size_call' #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val) ^ include/linux/percpu-defs.h:445:2: note: in expansion of macro 'raw_cpu_add' raw_cpu_add(pcp, val); \ ^ include/linux/vmstat.h:385:2: note: in expansion of macro '__this_cpu_add' __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ include/linux/vmstat.h:385:19: error: dereferencing pointer to incomplete type __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ arch/x86/include/asm/percpu.h:160:39: note: in definition of macro 'percpu_add_op' asm("incl "__percpu_arg(0) : "+m" (var)); \ ^ >> include/linux/percpu-defs.h:364:11: note: in expansion of macro >> 'raw_cpu_add_1' case 1: stem##1(variable, __VA_ARGS__);break; \ ^ include/linux/percpu-defs.h:409:32: note: in expansion of macro '__pcpu_size_call' #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val) ^ include/linux/percpu-defs.h:445:2: note: in expansion of macro 'raw_cpu_add' raw_cpu_add(pcp, val); \ ^ include/linux/vmstat.h:385:2: note: in expansion of macro '__this_cpu_add' __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ include/linux/vmstat.h:385:19: error: dereferencing pointer to incomplete type __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ arch/x86/include/asm/percpu.h:162:39: note: in definition of macro 'percpu_add_op' asm("decl "__percpu_arg(0) : "+m" (var)); \ ^ >> include/linux/percpu-defs.h:364:11: note: in expansion of macro >> 'raw_cpu_add_1' case 1: stem##1(variable, __VA_ARGS__);break; \ ^ include/linux/percpu-defs.h:409:32: note: in expansion of macro '__pcpu_size_call' #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val) ^ include/linux/percpu-defs.h:445:2: note: in expansion of macro 'raw_cpu_add' raw_cpu_add(pcp, val); \ ^ include/linux/vmstat.h:385:2: note: in expansion of macro '__this_cpu_add' __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ include/linux/vmstat.h:385:19: error: dereferencing pointer to incomplete type __this_cpu_add(pn->lruvec_stat->count[idx], val); ^ arch/x86/include/asm/percpu.h:165:16: note: in definition of macro 'percpu_add_op' : "+m" (var) \ ^ vim +367 include/linux/vmstat.h 361 362 if (mem_cgroup_disabled()) 363 return node_page_state(lruvec_pgdat(lruvec), idx); 364 365 pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); 366 for_each_possible_cpu(cpu) > 367 val += per_cpu(pn->lruvec_stat->count[idx], cpu); 368 369 if (val < 0) 370 val = 0; --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip

