Hi Mina, 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/Mina-Almasry/mm-Fix-memcg-reclaim-on-memory-tiered-systems/20221204-173146 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/20221204093008.2620459-1-almasrymina%40google.com patch subject: [PATCH v2] [mm-unstable] mm: Fix memcg reclaim on memory tiered systems config: alpha-buildonly-randconfig-r005-20221204 compiler: alpha-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/332f41fcb1b1d6bc7dafd40e8c1e10a1a0952849 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Mina-Almasry/mm-Fix-memcg-reclaim-on-memory-tiered-systems/20221204-173146 git checkout 332f41fcb1b1d6bc7dafd40e8c1e10a1a0952849 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=alpha SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): mm/vmscan.c: In function 'demote_folio_list': >> mm/vmscan.c:1618:9: error: too many arguments to function 'node_get_allowed_targets' 1618 | node_get_allowed_targets(pgdat, &allowed_mask, demote_from_nodemask); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from mm/vmscan.c:46: include/linux/memory-tiers.h:94:20: note: declared here 94 | static inline void node_get_allowed_targets(pg_data_t *pgdat, nodemask_t *targets) | ^~~~~~~~~~~~~~~~~~~~~~~~ vim +/node_get_allowed_targets +1618 mm/vmscan.c 1587 1588 /* 1589 * Take folios on @demote_folios and attempt to demote them to another node. 1590 * Folios which are not demoted are left on @demote_folios. 1591 */ 1592 static unsigned int demote_folio_list(struct list_head *demote_folios, 1593 struct pglist_data *pgdat, 1594 nodemask_t *demote_from_nodemask) 1595 { 1596 int target_nid = next_demotion_node(pgdat->node_id); 1597 unsigned int nr_succeeded; 1598 nodemask_t allowed_mask; 1599 1600 struct migration_target_control mtc = { 1601 /* 1602 * Allocate from 'node', or fail quickly and quietly. 1603 * When this happens, 'page' will likely just be discarded 1604 * instead of migrated. 1605 */ 1606 .gfp_mask = (GFP_HIGHUSER_MOVABLE & ~__GFP_RECLAIM) | __GFP_NOWARN | 1607 __GFP_NOMEMALLOC | GFP_NOWAIT, 1608 .nid = target_nid, 1609 .nmask = &allowed_mask 1610 }; 1611 1612 if (list_empty(demote_folios)) 1613 return 0; 1614 1615 if (target_nid == NUMA_NO_NODE) 1616 return 0; 1617 > 1618 node_get_allowed_targets(pgdat, &allowed_mask, demote_from_nodemask); 1619 1620 /* Demotion ignores all cpuset and mempolicy settings */ 1621 migrate_pages(demote_folios, alloc_demote_page, NULL, 1622 (unsigned long)&mtc, MIGRATE_ASYNC, MR_DEMOTION, 1623 &nr_succeeded); 1624 1625 __count_vm_events(PGDEMOTE_KSWAPD + reclaimer_offset(), nr_succeeded); 1626 1627 return nr_succeeded; 1628 } 1629 -- 0-DAY CI Kernel Test Service https://01.org/lkp