llvm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH v4 08/13] mm/madvise: introduce MADV_COLLAPSE sync hugepage collapse
       [not found] <20220502181714.3483177-9-zokeefe@google.com>
@ 2022-05-03  7:21 ` kernel test robot
  2022-05-04 21:46   ` Zach O'Keefe
  0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2022-05-03  7:21 UTC (permalink / raw)
  To: Zach O'Keefe, Alex Shi, David Hildenbrand, David Rientjes,
	Matthew Wilcox, Michal Hocko, Pasha Tatashin, Peter Xu,
	SeongJae Park, Song Liu, Vlastimil Babka, Yang Shi, Zi Yan,
	linux-mm
  Cc: llvm, kbuild-all, Andrea Arcangeli, Andrew Morton,
	Linux Memory Management List, Arnd Bergmann, Axel Rasmussen,
	Chris Kennelly, Chris Zankel, Helge Deller, Hugh Dickins,
	Ivan Kokshaysky, James E.J. Bottomley, Jens Axboe,
	Kirill A. Shutemov, Matt Turner, Max Filippov, Miaohe Lin,
	Minchan Kim

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@intel.com/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@intel.com>

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH v4 08/13] mm/madvise: introduce MADV_COLLAPSE sync hugepage collapse
  2022-05-03  7:21 ` [PATCH v4 08/13] mm/madvise: introduce MADV_COLLAPSE sync hugepage collapse kernel test robot
@ 2022-05-04 21:46   ` Zach O'Keefe
  0 siblings, 0 replies; 2+ messages in thread
From: Zach O'Keefe @ 2022-05-04 21:46 UTC (permalink / raw)
  To: kernel test robot
  Cc: Alex Shi, David Hildenbrand, David Rientjes, Matthew Wilcox,
	Michal Hocko, Pasha Tatashin, Peter Xu, SeongJae Park, Song Liu,
	Vlastimil Babka, Yang Shi, Zi Yan, linux-mm, llvm, kbuild-all,
	Andrea Arcangeli, Andrew Morton, Arnd Bergmann, Axel Rasmussen,
	Chris Kennelly, Chris Zankel, Helge Deller, Hugh Dickins,
	Ivan Kokshaysky, James E.J. Bottomley, Jens Axboe,
	Kirill A. Shutemov, Matt Turner, Max Filippov, Miaohe Lin,
	Minchan Kim

Sorry again - fixed in v5

On Tue, May 3, 2022 at 12:22 AM kernel test robot <lkp@intel.com> 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@intel.com/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@intel.com>
>
> 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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-05-04 21:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20220502181714.3483177-9-zokeefe@google.com>
2022-05-03  7:21 ` [PATCH v4 08/13] mm/madvise: introduce MADV_COLLAPSE sync hugepage collapse kernel test robot
2022-05-04 21:46   ` Zach O'Keefe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).