Sorry again - fixed in v5 On Tue, May 3, 2022 at 12:22 AM kernel test robot <lkp@xxxxxxxxx> wrote: > > 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/202205031501.6qBJrsPn-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/9f69946c58d8d53c271a4d75ac477b4a5164a511 > 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 9f69946c58d8d53c271a4d75ac477b4a5164a511 > # 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:1105: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:963:49: note: passing argument to parameter 'hpage' here > static bool khugepaged_alloc_page(struct page **hpage, gfp_t gfp, int node) > ^ > mm/khugepaged.c:1105: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:963:71: note: passing argument to parameter 'node' here > static bool khugepaged_alloc_page(struct page **hpage, gfp_t gfp, int node) > ^ > >> mm/khugepaged.c:2565:3: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough] > case SCAN_PMD_NULL: > ^ > mm/khugepaged.c:2565:3: note: insert 'break;' to avoid fall-through > case SCAN_PMD_NULL: > ^ > break; > 3 warnings generated. > > > vim +2565 mm/khugepaged.c > > 2511 > 2512 int madvise_collapse(struct vm_area_struct *vma, struct vm_area_struct **prev, > 2513 unsigned long start, unsigned long end) > 2514 { > 2515 struct collapse_control cc = { > 2516 .enforce_pte_scan_limits = false, > 2517 .enforce_young = false, > 2518 .last_target_node = NUMA_NO_NODE, > 2519 .hpage = NULL, > 2520 .alloc_charge_hpage = &madvise_alloc_charge_hpage, > 2521 }; > 2522 struct mm_struct *mm = vma->vm_mm; > 2523 unsigned long hstart, hend, addr; > 2524 int thps = 0, nr_hpages = 0, result = SCAN_FAIL; > 2525 bool mmap_locked = true; > 2526 > 2527 BUG_ON(vma->vm_start > start); > 2528 BUG_ON(vma->vm_end < end); > 2529 > 2530 *prev = vma; > 2531 > 2532 if (IS_ENABLED(CONFIG_SHMEM) && vma->vm_file) > 2533 return -EINVAL; > 2534 > 2535 hstart = (start + ~HPAGE_PMD_MASK) & HPAGE_PMD_MASK; > 2536 hend = end & HPAGE_PMD_MASK; > 2537 nr_hpages = (hend - hstart) >> HPAGE_PMD_SHIFT; > 2538 > 2539 if (hstart >= hend || !transparent_hugepage_active(vma)) > 2540 return -EINVAL; > 2541 > 2542 mmgrab(mm); > 2543 lru_add_drain(); > 2544 > 2545 for (addr = hstart; ; ) { > 2546 mmap_assert_locked(mm); > 2547 cond_resched(); > 2548 result = SCAN_FAIL; > 2549 > 2550 if (unlikely(khugepaged_test_exit(mm))) { > 2551 result = SCAN_ANY_PROCESS; > 2552 break; > 2553 } > 2554 > 2555 memset(cc.node_load, 0, sizeof(cc.node_load)); > 2556 result = khugepaged_scan_pmd(mm, vma, addr, &mmap_locked, &cc); > 2557 if (!mmap_locked) > 2558 *prev = NULL; /* tell madvise we dropped mmap_lock */ > 2559 > 2560 switch (result) { > 2561 /* Whitelisted set of results where continuing OK */ > 2562 case SCAN_SUCCEED: > 2563 case SCAN_PMD_MAPPED: > 2564 ++thps; > > 2565 case SCAN_PMD_NULL: > > -- > 0-DAY CI Kernel Test Service > https://01.org/lkp