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: s390-randconfig-r013-20221204 compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 6e4cea55f0d1104408b26ac574566a0e4de48036) 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 # install s390 cross compiling tool for clang build # apt-get install binutils-s390x-linux-gnu # 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=clang make.cross W=1 O=build_dir ARCH=s390 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:1618:49: error: too many arguments to function call, expected 2, have 3 node_get_allowed_targets(pgdat, &allowed_mask, demote_from_nodemask); ~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~ include/linux/memory-tiers.h:94:20: note: 'node_get_allowed_targets' declared here static inline void node_get_allowed_targets(pg_data_t *pgdat, nodemask_t *targets) ^ 1 error generated. vim +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