Re: [PATCH] mm: add DEVICE_ZONE to FOR_ALL_ZONES

From: kernel test robot
Date: Sun Aug 07 2022 - 04:40:34 EST


Hi Hao,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on akpm-mm/mm-everything]

url: https://github.com/intel-lab-lkp/linux/commits/Hao-Lee/mm-add-DEVICE_ZONE-to-FOR_ALL_ZONES/20220804-154805
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
config: x86_64-randconfig-m001 (https://download.01.org/0day-ci/archive/20220807/202208071635.HaS64efE-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/dba18359aee97f43008e19ffa78421e652b1b102
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Hao-Lee/mm-add-DEVICE_ZONE-to-FOR_ALL_ZONES/20220804-154805
git checkout dba18359aee97f43008e19ffa78421e652b1b102
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 prepare

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from include/linux/memcontrol.h:14,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/x86/kernel/asm-offsets.c:13:
include/linux/vm_event_item.h:29:27: error: expected identifier before '(' token
29 | #define FOR_ALL_ZONES(xx) (DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL, \
| ^
include/linux/vm_event_item.h:33:17: note: in expansion of macro 'FOR_ALL_ZONES'
33 | FOR_ALL_ZONES(PGALLOC),
| ^~~~~~~~~~~~~
In file included from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/x86/kernel/asm-offsets.c:13:
>> include/linux/memcontrol.h:86:40: error: 'NR_VM_EVENT_ITEMS' undeclared here (not in a function); did you mean 'NR_VM_NUMA_EVENT_ITEMS'?
86 | unsigned long events[NR_VM_EVENT_ITEMS];
| ^~~~~~~~~~~~~~~~~
| NR_VM_NUMA_EVENT_ITEMS
make[2]: *** [scripts/Makefile.build:117: arch/x86/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1200: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:219: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.


vim +86 include/linux/memcontrol.h

33398cf2f360c5 Michal Hocko 2015-09-08 82
871789d4af807d Chris Down 2019-05-14 83 struct memcg_vmstats_percpu {
2d146aa3aa842d Johannes Weiner 2021-04-29 84 /* Local (CPU and cgroup) page state & events */
2d146aa3aa842d Johannes Weiner 2021-04-29 85 long state[MEMCG_NR_STAT];
e27be240df53f1 Johannes Weiner 2018-04-10 @86 unsigned long events[NR_VM_EVENT_ITEMS];
2d146aa3aa842d Johannes Weiner 2021-04-29 87
2d146aa3aa842d Johannes Weiner 2021-04-29 88 /* Delta calculation for lockless upward propagation */
2d146aa3aa842d Johannes Weiner 2021-04-29 89 long state_prev[MEMCG_NR_STAT];
2d146aa3aa842d Johannes Weiner 2021-04-29 90 unsigned long events_prev[NR_VM_EVENT_ITEMS];
2d146aa3aa842d Johannes Weiner 2021-04-29 91
2d146aa3aa842d Johannes Weiner 2021-04-29 92 /* Cgroup1: threshold notifications & softlimit tree updates */
33398cf2f360c5 Michal Hocko 2015-09-08 93 unsigned long nr_page_events;
33398cf2f360c5 Michal Hocko 2015-09-08 94 unsigned long targets[MEM_CGROUP_NTARGETS];
33398cf2f360c5 Michal Hocko 2015-09-08 95 };
33398cf2f360c5 Michal Hocko 2015-09-08 96

--
0-DAY CI Kernel Test Service
https://01.org/lkp