Hi Muchun, Thank you for the patch! Yet something to improve: [auto build test ERROR on 4b0986a3613c92f4ec1bdc7f60ec66fea135991f] url: https://github.com/intel-lab-lkp/linux/commits/Muchun-Song/Use-obj_cgroup-APIs-to-charge-the-LRU-pages/20220524-143056 base: 4b0986a3613c92f4ec1bdc7f60ec66fea135991f config: arm64-buildonly-randconfig-r005-20220524 (https://download.01.org/0day-ci/archive/20220525/202205250202.1JanYiVZ-lkp@xxxxxxxxx/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 10c9ecce9f6096e18222a331c5e7d085bd813f75) 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 arm64 cross compiling tool for clang build # apt-get install binutils-aarch64-linux-gnu # https://github.com/intel-lab-lkp/linux/commit/bec0ae12106e0cf12dd4e0e21eb0754b99be0ba2 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Muchun-Song/Use-obj_cgroup-APIs-to-charge-the-LRU-pages/20220524-143056 git checkout bec0ae12106e0cf12dd4e0e21eb0754b99be0ba2 # 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=arm64 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): >> mm/memcontrol.c:6826:10: error: call to undeclared function '__get_obj_cgroup_from_memcg'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] objcg = __get_obj_cgroup_from_memcg(memcg); ^ >> mm/memcontrol.c:6826:8: warning: incompatible integer to pointer conversion assigning to 'struct obj_cgroup *' from 'int' [-Wint-conversion] objcg = __get_obj_cgroup_from_memcg(memcg); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning and 1 error generated. vim +/__get_obj_cgroup_from_memcg +6826 mm/memcontrol.c 6818 6819 static int charge_memcg(struct folio *folio, struct mem_cgroup *memcg, 6820 gfp_t gfp) 6821 { 6822 struct obj_cgroup *objcg; 6823 long nr_pages = folio_nr_pages(folio); 6824 int ret = 0; 6825 > 6826 objcg = __get_obj_cgroup_from_memcg(memcg); 6827 /* Do not account at the root objcg level. */ 6828 if (!obj_cgroup_is_root(objcg)) 6829 ret = try_charge(memcg, gfp, nr_pages); 6830 if (ret) 6831 goto out; 6832 6833 obj_cgroup_get(objcg); 6834 commit_charge(folio, objcg); 6835 6836 local_irq_disable(); 6837 mem_cgroup_charge_statistics(memcg, nr_pages); 6838 memcg_check_events(memcg, folio_nid(folio)); 6839 local_irq_enable(); 6840 out: 6841 obj_cgroup_put(objcg); 6842 return ret; 6843 } 6844 -- 0-DAY CI Kernel Test Service https://01.org/lkp