tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: a749425261522cc6b8401839230c988175b9d32e commit: 5da25090ab04b5ee9a997611dfedd78936471002 [8035/8196] mm/hmm: kconfig split HMM address space mirroring from device memory config: sparc64-allmodconfig (attached as .config) compiler: sparc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 5da25090ab04b5ee9a997611dfedd78936471002 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=sparc64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): mm/hmm.c: In function 'hmm_vma_handle_pmd': >> mm/hmm.c:537:37: error: macro "pte_index" requires 2 arguments, but only 1 given pfn = pmd_pfn(pmd) + pte_index(addr); ^ >> mm/hmm.c:537:23: error: 'pte_index' undeclared (first use in this function); did you mean 'page_index'? pfn = pmd_pfn(pmd) + pte_index(addr); ^~~~~~~~~ page_index mm/hmm.c:537:23: note: each undeclared identifier is reported only once for each function it appears in vim +/pte_index +537 mm/hmm.c eb0e1d92 Jérôme Glisse 2019-04-17 516 53f5c3f4 Jérôme Glisse 2018-04-10 517 static int hmm_vma_handle_pmd(struct mm_walk *walk, 53f5c3f4 Jérôme Glisse 2018-04-10 518 unsigned long addr, da4c3c73 Jérôme Glisse 2017-09-08 519 unsigned long end, 53f5c3f4 Jérôme Glisse 2018-04-10 520 uint64_t *pfns, 53f5c3f4 Jérôme Glisse 2018-04-10 521 pmd_t pmd) da4c3c73 Jérôme Glisse 2017-09-08 522 { 74eee180 Jérôme Glisse 2017-09-08 523 struct hmm_vma_walk *hmm_vma_walk = walk->private; f88a1e90 Jérôme Glisse 2018-04-10 524 struct hmm_range *range = hmm_vma_walk->range; 2aee09d8 Jérôme Glisse 2018-04-10 525 unsigned long pfn, npages, i; 2aee09d8 Jérôme Glisse 2018-04-10 526 bool fault, write_fault; f88a1e90 Jérôme Glisse 2018-04-10 527 uint64_t cpu_flags; da4c3c73 Jérôme Glisse 2017-09-08 528 2aee09d8 Jérôme Glisse 2018-04-10 529 npages = (end - addr) >> PAGE_SHIFT; f88a1e90 Jérôme Glisse 2018-04-10 530 cpu_flags = pmd_to_hmm_pfn_flags(range, pmd); 2aee09d8 Jérôme Glisse 2018-04-10 531 hmm_range_need_fault(hmm_vma_walk, pfns, npages, cpu_flags, 2aee09d8 Jérôme Glisse 2018-04-10 532 &fault, &write_fault); da4c3c73 Jérôme Glisse 2017-09-08 533 2aee09d8 Jérôme Glisse 2018-04-10 534 if (pmd_protnone(pmd) || fault || write_fault) 2aee09d8 Jérôme Glisse 2018-04-10 535 return hmm_vma_walk_hole_(addr, end, fault, write_fault, walk); 74eee180 Jérôme Glisse 2017-09-08 536 da4c3c73 Jérôme Glisse 2017-09-08 @537 pfn = pmd_pfn(pmd) + pte_index(addr); eb0e1d92 Jérôme Glisse 2019-04-17 538 for (i = 0; addr < end; addr += PAGE_SIZE, i++, pfn++) { eb0e1d92 Jérôme Glisse 2019-04-17 539 if (pmd_devmap(pmd)) { eb0e1d92 Jérôme Glisse 2019-04-17 540 hmm_vma_walk->pgmap = get_dev_pagemap(pfn, eb0e1d92 Jérôme Glisse 2019-04-17 541 hmm_vma_walk->pgmap); eb0e1d92 Jérôme Glisse 2019-04-17 542 if (unlikely(!hmm_vma_walk->pgmap)) eb0e1d92 Jérôme Glisse 2019-04-17 543 return -EBUSY; eb0e1d92 Jérôme Glisse 2019-04-17 544 } 85416fe9 Jérôme Glisse 2019-04-17 545 pfns[i] = hmm_device_entry_from_pfn(range, pfn) | cpu_flags; eb0e1d92 Jérôme Glisse 2019-04-17 546 } eb0e1d92 Jérôme Glisse 2019-04-17 547 if (hmm_vma_walk->pgmap) { eb0e1d92 Jérôme Glisse 2019-04-17 548 put_dev_pagemap(hmm_vma_walk->pgmap); eb0e1d92 Jérôme Glisse 2019-04-17 549 hmm_vma_walk->pgmap = NULL; eb0e1d92 Jérôme Glisse 2019-04-17 550 } 53f5c3f4 Jérôme Glisse 2018-04-10 551 hmm_vma_walk->last = end; da4c3c73 Jérôme Glisse 2017-09-08 552 return 0; da4c3c73 Jérôme Glisse 2017-09-08 553 } da4c3c73 Jérôme Glisse 2017-09-08 554 :::::: The code at line 537 was first introduced by commit :::::: da4c3c735ea4dcc2a0b0ff0bd4803c336361b6f5 mm/hmm/mirror: helper to snapshot CPU page table :::::: TO: Jérôme Glisse :::::: CC: Linus Torvalds --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation