tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable head: 7994b7ea6ac880efd0c38fedfbffd5ab8b1b7b2b commit: c10966f19a878a66206327ebe3b85500f59f47e2 [27/106] mm: count zeromap read and set for swapout and swapin config: x86_64-kexec (https://download.01.org/0day-ci/archive/20241106/202411062130.JXvq8Cjt-lkp@xxxxxxxxx/config) compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241106/202411062130.JXvq8Cjt-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/202411062130.JXvq8Cjt-lkp@xxxxxxxxx/ Note: the akpm-mm/mm-unstable HEAD 7994b7ea6ac880efd0c38fedfbffd5ab8b1b7b2b builds fine. It only hurts bisectability. All errors (new ones prefixed by >>): In file included from mm/page_io.c:14: In file included from include/linux/mm.h:2213: include/linux/vmstat.h:504:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 504 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 505 | item]; | ~~~~ include/linux/vmstat.h:511:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 511 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 512 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ 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_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:524:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 524 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 525 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ >> mm/page_io.c:220:3: error: call to undeclared function 'count_objcg_events'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 220 | count_objcg_events(objcg, SWPOUT_ZERO, nr_pages); | ^ mm/page_io.c:220:3: note: did you mean 'count_objcg_event'? include/linux/memcontrol.h:1763:20: note: 'count_objcg_event' declared here 1763 | static inline void count_objcg_event(struct obj_cgroup *objcg, | ^ mm/page_io.c:532:3: error: call to undeclared function 'count_objcg_events'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 532 | count_objcg_events(objcg, SWPIN_ZERO, nr_pages); | ^ 4 warnings and 2 errors generated. vim +/count_objcg_events +220 mm/page_io.c 204 205 static void swap_zeromap_folio_set(struct folio *folio) 206 { 207 struct obj_cgroup *objcg = get_obj_cgroup_from_folio(folio); 208 struct swap_info_struct *sis = swp_swap_info(folio->swap); 209 int nr_pages = folio_nr_pages(folio); 210 swp_entry_t entry; 211 unsigned int i; 212 213 for (i = 0; i < folio_nr_pages(folio); i++) { 214 entry = page_swap_entry(folio_page(folio, i)); 215 set_bit(swp_offset(entry), sis->zeromap); 216 } 217 218 count_vm_events(SWPOUT_ZERO, nr_pages); 219 if (objcg) { > 220 count_objcg_events(objcg, SWPOUT_ZERO, nr_pages); 221 obj_cgroup_put(objcg); 222 } 223 } 224 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki