Message ID | 20170524115409.31309-9-punit.agrawal@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Punit, [auto build test ERROR on linus/master] [also build test ERROR on v4.12-rc2 next-20170524] [cannot apply to mmotm/master] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Punit-Agrawal/Support-for-contiguous-pte-hugepages/20170524-221905 config: x86_64-kexec (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): mm/rmap.c: In function 'try_to_unmap_one': >> mm/rmap.c:1386:5: error: implicit declaration of function 'set_huge_swap_pte_at' [-Werror=implicit-function-declaration] set_huge_swap_pte_at(mm, address, ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/set_huge_swap_pte_at +1386 mm/rmap.c 1380 1381 if (PageHWPoison(page) && !(flags & TTU_IGNORE_HWPOISON)) { 1382 pteval = swp_entry_to_pte(make_hwpoison_entry(subpage)); 1383 if (PageHuge(page)) { 1384 int nr = 1 << compound_order(page); 1385 hugetlb_count_sub(nr, mm); > 1386 set_huge_swap_pte_at(mm, address, 1387 pvmw.pte, pteval, 1388 vma_mmu_pagesize(vma)); 1389 } else { --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
kbuild test robot <lkp@intel.com> writes: > Hi Punit, > > [auto build test ERROR on linus/master] > [also build test ERROR on v4.12-rc2 next-20170524] > [cannot apply to mmotm/master] > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] > > url: https://github.com/0day-ci/linux/commits/Punit-Agrawal/Support-for-contiguous-pte-hugepages/20170524-221905 > config: x86_64-kexec (attached as .config) > compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 > reproduce: > # save the attached .config to linux build tree > make ARCH=x86_64 > > All errors (new ones prefixed by >>): > > mm/rmap.c: In function 'try_to_unmap_one': >>> mm/rmap.c:1386:5: error: implicit declaration of function 'set_huge_swap_pte_at' [-Werror=implicit-function-declaration] > set_huge_swap_pte_at(mm, address, > ^~~~~~~~~~~~~~~~~~~~ > cc1: some warnings being treated as errors > > vim +/set_huge_swap_pte_at +1386 mm/rmap.c > > 1380 > 1381 if (PageHWPoison(page) && !(flags & TTU_IGNORE_HWPOISON)) { > 1382 pteval = swp_entry_to_pte(make_hwpoison_entry(subpage)); > 1383 if (PageHuge(page)) { > 1384 int nr = 1 << compound_order(page); > 1385 hugetlb_count_sub(nr, mm); >> 1386 set_huge_swap_pte_at(mm, address, > 1387 pvmw.pte, pteval, > 1388 vma_mmu_pagesize(vma)); > 1389 } else { > Thanks for the report. The build failure is caused due to missing function definition for set_huge_swap_pte_at() when CONFIG_HUGETLB_PAGE is disabled. I've posted an update to Patch 7 where the function is introduced to fix this issue. > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/mm/rmap.c b/mm/rmap.c index d405f0e0ee96..feb2352aa95f 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -1379,15 +1379,18 @@ static bool try_to_unmap_one(struct page *page, struct vm_area_struct *vma, update_hiwater_rss(mm); if (PageHWPoison(page) && !(flags & TTU_IGNORE_HWPOISON)) { + pteval = swp_entry_to_pte(make_hwpoison_entry(subpage)); if (PageHuge(page)) { int nr = 1 << compound_order(page); hugetlb_count_sub(nr, mm); + set_huge_swap_pte_at(mm, address, + pvmw.pte, pteval, + vma_mmu_pagesize(vma)); } else { dec_mm_counter(mm, mm_counter(page)); + set_pte_at(mm, address, pvmw.pte, pteval); } - pteval = swp_entry_to_pte(make_hwpoison_entry(subpage)); - set_pte_at(mm, address, pvmw.pte, pteval); } else if (pte_unused(pteval)) { /* * The guest indicated that the page content is of no