Hi Mel,

[auto build test ERROR on mmotm/master]
[also build test ERROR on v4.13-rc2 next-20170724]
[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/Mel-Gorman/mm-Always-flush-VMA-ranges-affected-by-zap_page_range/20170725-102436
base:   git://git.cmpxchg.org/linux-mmotm.git master
config: ia64-allyesconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 6.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=ia64 

All errors (new ones prefixed by >>):

   mm/memory.c: In function 'zap_page_range':
>> mm/memory.c:1497:3: error: implicit declaration of function 
>> '__tlb_adjust_range' [-Werror=implicit-function-declaration]
      __tlb_adjust_range(&tlb, start, end);
      ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/__tlb_adjust_range +1497 mm/memory.c

  1466  
  1467  /**
  1468   * zap_page_range - remove user pages in a given range
  1469   * @vma: vm_area_struct holding the applicable pages
  1470   * @start: starting address of pages to zap
  1471   * @size: number of bytes to zap
  1472   *
  1473   * Caller must protect the VMA list
  1474   */
  1475  void zap_page_range(struct vm_area_struct *vma, unsigned long start,
  1476                  unsigned long size)
  1477  {
  1478          struct mm_struct *mm = vma->vm_mm;
  1479          struct mmu_gather tlb;
  1480          unsigned long end = start + size;
  1481  
  1482          lru_add_drain();
  1483          tlb_gather_mmu(&tlb, mm, start, end);
  1484          update_hiwater_rss(mm);
  1485          mmu_notifier_invalidate_range_start(mm, start, end);
  1486          for ( ; vma && vma->vm_start < end; vma = vma->vm_next) {
  1487                  unmap_single_vma(&tlb, vma, start, end, NULL);
  1488  
  1489                  /*
  1490                   * zap_page_range does not specify whether mmap_sem 
should be
  1491                   * held for read or write. That allows parallel 
zap_page_range
  1492                   * operations to unmap a PTE and defer a flush meaning 
that
  1493                   * this call observes pte_none and fails to flush the 
TLB.
  1494                   * Rather than adding a complex API, ensure that no 
stale
  1495                   * TLB entries exist when this call returns.
  1496                   */
> 1497                  __tlb_adjust_range(&tlb, start, end);
  1498          }
  1499  
  1500          mmu_notifier_invalidate_range_end(mm, start, end);
  1501          tlb_finish_mmu(&tlb, start, end);
  1502  }
  1503  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to