Hi Nhat, Thank you for the patch! Yet something to improve: [auto build test ERROR on shuah-kselftest/next] [also build test ERROR on shuah-kselftest/fixes tip/x86/asm akpm-mm/mm-everything linus/master v6.1-rc8 next-20221208] [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/Nhat-Pham/cachestat-a-new-syscall-for-page-cache-state-of-files/20221209-042856 base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next patch link: https://lore.kernel.org/r/20221208202808.908690-3-nphamcs%40gmail.com patch subject: [PATCH v3 2/4] workingset: refactor LRU refault to expose refault recency check config: nios2-randconfig-r001-20221207 compiler: nios2-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/e2f34321a236f2cbe1ece4eda8c0aaadaa182739 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Nhat-Pham/cachestat-a-new-syscall-for-page-cache-state-of-files/20221209-042856 git checkout e2f34321a236f2cbe1ece4eda8c0aaadaa182739 # 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=nios2 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/workingset.c: In function 'lru_gen_test_recent': >> mm/workingset.c:265:45: error: invalid type argument of unary '*' (have 'int') 265 | eviction_memcg = mem_cgroup_from_id(*memcgid); | ^~~~~~~~ >> mm/workingset.c:267:52: error: incompatible type for argument 2 of 'mem_cgroup_lruvec' 267 | lruvec = mem_cgroup_lruvec(eviction_memcg, *pgdat); | ^~~~~~ | | | struct pglist_data In file included from mm/workingset.c:8: include/linux/memcontrol.h:1251:68: note: expected 'struct pglist_data *' but argument is of type 'struct pglist_data' 1251 | struct pglist_data *pgdat) | ~~~~~~~~~~~~~~~~~~~~^~~~~ >> mm/workingset.c:271:19: error: invalid type argument of unary '*' (have 'long unsigned int') 271 | return !((*token >> LRU_REFS_WIDTH) != (min_seq & (EVICTION_MASK >> LRU_REFS_WIDTH))); | ^~~~~~ mm/workingset.c:272:1: error: control reaches end of non-void function [-Werror=return-type] 272 | } | ^ cc1: some warnings being treated as errors vim +265 mm/workingset.c 246 247 /* 248 * Test if the folio is recently evicted. 249 * 250 * As a side effect, also populates the references with 251 * values unpacked from the shadow of the evicted folio. 252 */ 253 static bool lru_gen_test_recent(void *shadow, bool file, bool *workingset) 254 { 255 struct mem_cgroup *eviction_memcg; 256 struct lruvec *lruvec; 257 struct lru_gen_struct *lrugen; 258 unsigned long min_seq; 259 260 int memcgid; 261 struct pglist_data *pgdat; 262 unsigned long token; 263 264 unpack_shadow(shadow, &memcgid, &pgdat, &token, workingset); > 265 eviction_memcg = mem_cgroup_from_id(*memcgid); 266 > 267 lruvec = mem_cgroup_lruvec(eviction_memcg, *pgdat); 268 lrugen = &lruvec->lrugen; 269 270 min_seq = READ_ONCE(lrugen->min_seq[file]); > 271 return !((*token >> LRU_REFS_WIDTH) != (min_seq & (EVICTION_MASK >> LRU_REFS_WIDTH))); 272 } 273 -- 0-DAY CI Kernel Test Service https://01.org/lkp