Re: [PATCH v4 04/13] mm/khugepaged: make hugepage allocation context-specific

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Zach,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on next-20220502]
[cannot apply to hnaz-mm/master rostedt-trace/for-next deller-parisc/for-next arnd-asm-generic/master linus/master v5.18-rc5 v5.18-rc4 v5.18-rc3 v5.18-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]

url:    https://github.com/intel-lab-lkp/linux/commits/Zach-O-Keefe/mm-khugepaged-record-SCAN_PMD_MAPPED-when-scan_pmd-finds-THP/20220503-031727
base:    9f9b9a2972eb8dcaad09d826c5c6d7488eaca3e6
config: x86_64-randconfig-a011-20220502 (https://download.01.org/0day-ci/archive/20220503/202205031117.A41ue1TS-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 09325d36061e42b495d1f4c7e933e260eac260ed)
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/0d006aeaf99be94a0dcb727cb6540195f13fd9c3
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Zach-O-Keefe/mm-khugepaged-record-SCAN_PMD_MAPPED-when-scan_pmd-finds-THP/20220503-031727
        git checkout 0d006aeaf99be94a0dcb727cb6540195f13fd9c3
        # 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=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> mm/khugepaged.c:1091:29: warning: incompatible integer to pointer conversion passing 'gfp_t' (aka 'unsigned int') to parameter of type 'struct page **' [-Wint-conversion]
           if (!khugepaged_alloc_page(gfp, node, cc))
                                      ^~~
   mm/khugepaged.c:949:49: note: passing argument to parameter 'hpage' here
   static bool khugepaged_alloc_page(struct page **hpage, gfp_t gfp, int node)
                                                   ^
>> mm/khugepaged.c:1091:40: warning: incompatible pointer to integer conversion passing 'struct collapse_control *' to parameter of type 'int' [-Wint-conversion]
           if (!khugepaged_alloc_page(gfp, node, cc))
                                                 ^~
   mm/khugepaged.c:949:71: note: passing argument to parameter 'node' here
   static bool khugepaged_alloc_page(struct page **hpage, gfp_t gfp, int node)
                                                                         ^
   2 warnings generated.


vim +1091 mm/khugepaged.c

  1074	
  1075	static int alloc_charge_hpage(struct mm_struct *mm, struct collapse_control *cc)
  1076	{
  1077	#ifdef CONFIG_NUMA
  1078		const struct cpumask *cpumask;
  1079	#endif
  1080		gfp_t gfp = alloc_hugepage_khugepaged_gfpmask() | __GFP_THISNODE;
  1081		int node = khugepaged_find_target_node(cc);
  1082	
  1083	#ifdef CONFIG_NUMA
  1084		/* sched to specified node before huge page memory copy */
  1085		if (task_node(current) != node) {
  1086			cpumask = cpumask_of_node(node);
  1087			if (!cpumask_empty(cpumask))
  1088				set_cpus_allowed_ptr(current, cpumask);
  1089		}
  1090	#endif
> 1091		if (!khugepaged_alloc_page(gfp, node, cc))
  1092			return SCAN_ALLOC_HUGE_PAGE_FAIL;
  1093		if (unlikely(mem_cgroup_charge(page_folio(cc->hpage), mm, gfp)))
  1094			return SCAN_CGROUP_CHARGE_FAIL;
  1095		count_memcg_page_event(cc->hpage, THP_COLLAPSE_ALLOC);
  1096		return SCAN_SUCCEED;
  1097	}
  1098	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux