Hi Shakeel, kernel test robot noticed the following build errors: [auto build test ERROR on next-20240422] [cannot apply to akpm-mm/mm-everything linus/master v6.9-rc5 v6.9-rc4 v6.9-rc3 v6.9-rc5] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Shakeel-Butt/mm-rearrange-node_stat_item-to-put-memcg-stats-at-start/20240423-132451 base: next-20240422 patch link: https://lore.kernel.org/r/20240423051826.791934-3-shakeel.butt%40linux.dev patch subject: [PATCH 2/4] memcg: reduce memory for the lruvec and memcg stats config: x86_64-buildonly-randconfig-002-20240423 (https://download.01.org/0day-ci/archive/20240423/202404232230.94gQwAI2-lkp@xxxxxxxxx/config) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240423/202404232230.94gQwAI2-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/202404232230.94gQwAI2-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> mm/memcontrol.c:1651:2: error: call to '__compiletime_assert_963' declared with 'error' attribute: BUILD_BUG_ON failed: ARRAY_SIZE(memory_stats) != MEMCG_NR_STAT - 1 1651 | BUILD_BUG_ON(ARRAY_SIZE(memory_stats) != MEMCG_NR_STAT - 1); | ^ include/linux/build_bug.h:50:2: note: expanded from macro 'BUILD_BUG_ON' 50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) | ^ include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^ include/linux/compiler_types.h:460:2: note: expanded from macro 'compiletime_assert' 460 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^ include/linux/compiler_types.h:448:2: note: expanded from macro '_compiletime_assert' 448 | __compiletime_assert(condition, msg, prefix, suffix) | ^ include/linux/compiler_types.h:441:4: note: expanded from macro '__compiletime_assert' 441 | prefix ## suffix(); \ | ^ <scratch space>:40:1: note: expanded from here 40 | __compiletime_assert_963 | ^ 1 error generated. vim +1651 mm/memcontrol.c 1645 1646 static void memcg_stat_format(struct mem_cgroup *memcg, struct seq_buf *s) 1647 { 1648 int i; 1649 1650 /* Reduce by 1 for MEMCG_SWAP as that is not exposed in v2. */ > 1651 BUILD_BUG_ON(ARRAY_SIZE(memory_stats) != MEMCG_NR_STAT - 1); 1652 1653 /* 1654 * Provide statistics on the state of the memory subsystem as 1655 * well as cumulative event counters that show past behavior. 1656 * 1657 * This list is ordered following a combination of these gradients: 1658 * 1) generic big picture -> specifics and details 1659 * 2) reflecting userspace activity -> reflecting kernel heuristics 1660 * 1661 * Current memory state: 1662 */ 1663 mem_cgroup_flush_stats(memcg); 1664 1665 for (i = 0; i < ARRAY_SIZE(memory_stats); i++) { 1666 u64 size; 1667 1668 size = memcg_page_state_output(memcg, memory_stats[i].idx); 1669 seq_buf_printf(s, "%s %llu\n", memory_stats[i].name, size); 1670 1671 if (unlikely(memory_stats[i].idx == NR_SLAB_UNRECLAIMABLE_B)) { 1672 size += memcg_page_state_output(memcg, 1673 NR_SLAB_RECLAIMABLE_B); 1674 seq_buf_printf(s, "slab %llu\n", size); 1675 } 1676 } 1677 1678 /* Accumulated memory events */ 1679 seq_buf_printf(s, "pgscan %lu\n", 1680 memcg_events(memcg, PGSCAN_KSWAPD) + 1681 memcg_events(memcg, PGSCAN_DIRECT) + 1682 memcg_events(memcg, PGSCAN_KHUGEPAGED)); 1683 seq_buf_printf(s, "pgsteal %lu\n", 1684 memcg_events(memcg, PGSTEAL_KSWAPD) + 1685 memcg_events(memcg, PGSTEAL_DIRECT) + 1686 memcg_events(memcg, PGSTEAL_KHUGEPAGED)); 1687 1688 for (i = 0; i < ARRAY_SIZE(memcg_vm_event_stat); i++) { 1689 if (memcg_vm_event_stat[i] == PGPGIN || 1690 memcg_vm_event_stat[i] == PGPGOUT) 1691 continue; 1692 1693 seq_buf_printf(s, "%s %lu\n", 1694 vm_event_name(memcg_vm_event_stat[i]), 1695 memcg_events(memcg, memcg_vm_event_stat[i])); 1696 } 1697 1698 /* The above should easily fit into one page */ 1699 WARN_ON_ONCE(seq_buf_has_overflowed(s)); 1700 } 1701 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki