Re: [PATCH 2/2] mm/damon: Add a new scheme to support demotion on tiered memory system
From: kernel test robot <hidden>
Date: 2021-12-22 11:18:47
Also in:
oe-kbuild-all
Hi Baolin, I love your patch! Yet something to improve: [auto build test ERROR on next-20211220] [cannot apply to hnaz-mm/master linux/master linus/master v5.16-rc6 v5.16-rc5 v5.16-rc4 v5.16-rc6] [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/0day-ci/linux/commits/Baolin-Wang/Add-a-new-scheme-to-support-demotion-on-tiered-memory-system/20211221-172017 base: 07f8c60fe60f84977dc815ec8a6b1100827c34dd config: arc-randconfig-r043-20211222 (https://download.01.org/0day-ci/archive/20211222/202112221923.4m9tlPoy-lkp@intel.com/config) compiler: arc-elf-gcc (GCC) 11.2.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/0day-ci/linux/commit/ed1c1ea9c5b5ea81916c10e50c4a1613bce4b5a9 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Baolin-Wang/Add-a-new-scheme-to-support-demotion-on-tiered-memory-system/20211221-172017 git checkout ed1c1ea9c5b5ea81916c10e50c4a1613bce4b5a9 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <redacted> All errors (new ones prefixed by >>): mm/damon/vaddr.c: In function 'damos_migrate_pmd_entry':
quoted
mm/damon/vaddr.c:635:14: error: implicit declaration of function 'vma_migratable'; did you mean 'HPageMigratable'? [-Werror=implicit-function-declaration]
635 | if (!vma_migratable(vma))
| ^~~~~~~~~~~~~~
| HPageMigratablequoted
mm/damon/vaddr.c:648:39: error: implicit declaration of function 'pmd_pfn'; did you mean 'pmd_off'? [-Werror=implicit-function-declaration]
648 | page = damon_get_page(pmd_pfn(*pmd));
| ^~~~~~~
| pmd_off
cc1: some warnings being treated as errors
vim +635 mm/damon/vaddr.c
625
626 static int damos_migrate_pmd_entry(pmd_t *pmd, unsigned long addr,
627 unsigned long end, struct mm_walk *walk)
628 {
629 struct vm_area_struct *vma = walk->vma;
630 struct list_head *demote_list = walk->private;
631 spinlock_t *ptl;
632 struct page *page;
633 pte_t *pte, *mapped_pte;
634
> 635 if (!vma_migratable(vma))
636 return -EFAULT;
637
638 ptl = pmd_trans_huge_lock(pmd, vma);
639 if (ptl) {
640 /* Bail out if THP migration is not supported. */
641 if (!thp_migration_supported())
642 goto thp_out;
643
644 /* If the THP pte is under migration, do not bother it. */
645 if (unlikely(is_pmd_migration_entry(*pmd)))
646 goto thp_out;
647
> 648 page = damon_get_page(pmd_pfn(*pmd));
649 if (!page)
650 goto thp_out;
651
652 damos_isolate_page(page, demote_list);
653
654 put_page(page);
655 thp_out:
656 spin_unlock(ptl);
657 return 0;
658 }
659
660 /* regular page handling */
661 if (pmd_none(*pmd) || unlikely(pmd_bad(*pmd)))
662 return -EINVAL;
663
664 mapped_pte = pte = pte_offset_map_lock(walk->mm, pmd, addr, &ptl);
665 for (; addr != end; pte++, addr += PAGE_SIZE) {
666 if (pte_none(*pte) || !pte_present(*pte))
667 continue;
668
669 page = damon_get_page(pte_pfn(*pte));
670 if (!page)
671 continue;
672
673 damos_isolate_page(page, demote_list);
674 put_page(page);
675 }
676 pte_unmap_unlock(mapped_pte, ptl);
677 cond_resched();
678
679 return 0;
680 }
681
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org