Hi, kernel test robot noticed the following build errors: [auto build test ERROR on akpm-mm/mm-everything] url: https://github.com/intel-lab-lkp/linux/commits/zhongjinji-honor-com/mm-page_alloc-make-the-maximum-number-of-highatomic-pageblocks-resizable/20250226-121712 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/20250226024126.3718-1-zhongjinji%40honor.com patch subject: [PATCH] mm/page_alloc: make the maximum number of highatomic pageblocks resizable config: x86_64-buildonly-randconfig-001-20250227 (https://download.01.org/0day-ci/archive/20250227/202502271250.KUfFnxnl-lkp@xxxxxxxxx/config) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250227/202502271250.KUfFnxnl-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202502271250.KUfFnxnl-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from mm/page_alloc.c:19: In file included from include/linux/mm.h:2302: include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 518 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ In file included from mm/page_alloc.c:44: include/linux/mm_inline.h:47:41: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 47 | __mod_lruvec_state(lruvec, NR_LRU_BASE + lru, nr_pages); | ~~~~~~~~~~~ ^ ~~~ include/linux/mm_inline.h:49:22: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 49 | NR_ZONE_LRU_BASE + lru, nr_pages); | ~~~~~~~~~~~~~~~~ ^ ~~~ mm/page_alloc.c:2854:2: warning: arithmetic between different enumeration types ('enum vm_event_item' and 'enum zone_type') [-Wenum-enum-conversion] 2854 | __count_zid_vm_events(PGALLOC, page_zonenum(page), 1 << order); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:139:34: note: expanded from macro '__count_zid_vm_events' 139 | __count_vm_events(item##_NORMAL - ZONE_NORMAL + zid, delta) | ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~ mm/page_alloc.c:2971:3: warning: arithmetic between different enumeration types ('enum vm_event_item' and 'enum zone_type') [-Wenum-enum-conversion] 2971 | __count_zid_vm_events(PGALLOC, page_zonenum(page), 1 << order); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:139:34: note: expanded from macro '__count_zid_vm_events' 139 | __count_vm_events(item##_NORMAL - ZONE_NORMAL + zid, delta) | ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~ mm/page_alloc.c:4743:2: warning: arithmetic between different enumeration types ('enum vm_event_item' and 'enum zone_type') [-Wenum-enum-conversion] 4743 | __count_zid_vm_events(PGALLOC, zone_idx(zone), nr_account); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:139:34: note: expanded from macro '__count_zid_vm_events' 139 | __count_vm_events(item##_NORMAL - ZONE_NORMAL + zid, delta) | ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~ >> mm/page_alloc.c:6262:3: error: field designator cannot initialize a non-struct, non-union type 'const struct ctl_table[]' 6262 | .procname = "highatomic_reserve_ratio", | ^ mm/page_alloc.c:6263:3: error: field designator cannot initialize a non-struct, non-union type 'const struct ctl_table[]' 6263 | .data = &highatomic_reserve_ratio, | ^ mm/page_alloc.c:6264:3: error: field designator cannot initialize a non-struct, non-union type 'const struct ctl_table[]' 6264 | .maxlen = sizeof(highatomic_reserve_ratio), | ^ mm/page_alloc.c:6265:3: error: field designator cannot initialize a non-struct, non-union type 'const struct ctl_table[]' 6265 | .mode = 0644, | ^ mm/page_alloc.c:6266:3: error: field designator cannot initialize a non-struct, non-union type 'const struct ctl_table[]' 6266 | .proc_handler = proc_dointvec_minmax, | ^ mm/page_alloc.c:6267:3: error: field designator cannot initialize a non-struct, non-union type 'const struct ctl_table[]' 6267 | .extra1 = SYSCTL_ZERO, | ^ >> mm/page_alloc.c:6268:3: error: expected ';' at end of declaration 6268 | }, | ^ | ; >> mm/page_alloc.c:6269:2: error: expected identifier or '(' 6269 | { | ^ >> mm/page_alloc.c:6303:1: error: extraneous closing brace ('}') 6303 | }; | ^ 6 warnings and 9 errors generated. vim +6262 mm/page_alloc.c 6227 6228 static const struct ctl_table page_alloc_sysctl_table[] = { 6229 { 6230 .procname = "min_free_kbytes", 6231 .data = &min_free_kbytes, 6232 .maxlen = sizeof(min_free_kbytes), 6233 .mode = 0644, 6234 .proc_handler = min_free_kbytes_sysctl_handler, 6235 .extra1 = SYSCTL_ZERO, 6236 }, 6237 { 6238 .procname = "watermark_boost_factor", 6239 .data = &watermark_boost_factor, 6240 .maxlen = sizeof(watermark_boost_factor), 6241 .mode = 0644, 6242 .proc_handler = proc_dointvec_minmax, 6243 .extra1 = SYSCTL_ZERO, 6244 }, 6245 { 6246 .procname = "watermark_scale_factor", 6247 .data = &watermark_scale_factor, 6248 .maxlen = sizeof(watermark_scale_factor), 6249 .mode = 0644, 6250 .proc_handler = watermark_scale_factor_sysctl_handler, 6251 .extra1 = SYSCTL_ONE, 6252 .extra2 = SYSCTL_THREE_THOUSAND, 6253 }, 6254 { 6255 .procname = "percpu_pagelist_high_fraction", 6256 .data = &percpu_pagelist_high_fraction, 6257 .maxlen = sizeof(percpu_pagelist_high_fraction), 6258 .mode = 0644, 6259 .proc_handler = percpu_pagelist_high_fraction_sysctl_handler, 6260 .extra1 = SYSCTL_ZERO, 6261 }, > 6262 .procname = "highatomic_reserve_ratio", 6263 .data = &highatomic_reserve_ratio, 6264 .maxlen = sizeof(highatomic_reserve_ratio), 6265 .mode = 0644, 6266 .proc_handler = proc_dointvec_minmax, 6267 .extra1 = SYSCTL_ZERO, > 6268 }, > 6269 { 6270 .procname = "lowmem_reserve_ratio", 6271 .data = &sysctl_lowmem_reserve_ratio, 6272 .maxlen = sizeof(sysctl_lowmem_reserve_ratio), 6273 .mode = 0644, 6274 .proc_handler = lowmem_reserve_ratio_sysctl_handler, 6275 }, 6276 #ifdef CONFIG_NUMA 6277 { 6278 .procname = "numa_zonelist_order", 6279 .data = &numa_zonelist_order, 6280 .maxlen = NUMA_ZONELIST_ORDER_LEN, 6281 .mode = 0644, 6282 .proc_handler = numa_zonelist_order_handler, 6283 }, 6284 { 6285 .procname = "min_unmapped_ratio", 6286 .data = &sysctl_min_unmapped_ratio, 6287 .maxlen = sizeof(sysctl_min_unmapped_ratio), 6288 .mode = 0644, 6289 .proc_handler = sysctl_min_unmapped_ratio_sysctl_handler, 6290 .extra1 = SYSCTL_ZERO, 6291 .extra2 = SYSCTL_ONE_HUNDRED, 6292 }, 6293 { 6294 .procname = "min_slab_ratio", 6295 .data = &sysctl_min_slab_ratio, 6296 .maxlen = sizeof(sysctl_min_slab_ratio), 6297 .mode = 0644, 6298 .proc_handler = sysctl_min_slab_ratio_sysctl_handler, 6299 .extra1 = SYSCTL_ZERO, 6300 .extra2 = SYSCTL_ONE_HUNDRED, 6301 }, 6302 #endif > 6303 }; 6304 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki