Hi Dan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17-rc7 next-20180530]
[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/Dan-Williams/mm-Teach-memory_failure-about-ZONE_DEVICE-pages/20180525-035652
config: arm64-allmodconfig (attached as .config)
compiler: aarch64-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
        # save the attached .config to linux build tree
        make.cross ARCH=arm64 

All errors (new ones prefixed by >>):

   drivers//dax/device.c: In function 'dev_dax_huge_fault':
>> drivers//dax/device.c:413:8: error: too many arguments to function 
>> '__dev_dax_pud_fault'
      rc = __dev_dax_pud_fault(dev_dax, vmf, &pfn);
           ^~~~~~~~~~~~~~~~~~~
   drivers//dax/device.c:380:19: note: declared here
    static vm_fault_t __dev_dax_pud_fault(struct dev_dax *dev_dax,
                      ^~~~~~~~~~~~~~~~~~~

vim +/__dev_dax_pud_fault +413 drivers//dax/device.c

   386  
   387  static vm_fault_t dev_dax_huge_fault(struct vm_fault *vmf,
   388                  enum page_entry_size pe_size)
   389  {
   390          struct vm_area_struct *vma = vmf->vma;
   391          struct file *filp = vma->vm_file;
   392          unsigned long fault_size;
   393          int rc, id;
   394          pfn_t pfn;
   395          struct dev_dax *dev_dax = filp->private_data;
   396  
   397          dev_dbg(&dev_dax->dev, "%s: %s (%#lx - %#lx) size = %d\n", 
current->comm,
   398                          (vmf->flags & FAULT_FLAG_WRITE) ? "write" : 
"read",
   399                          vma->vm_start, vma->vm_end, pe_size);
   400  
   401          id = dax_read_lock();
   402          switch (pe_size) {
   403          case PE_SIZE_PTE:
   404                  fault_size = PAGE_SIZE;
   405                  rc = __dev_dax_pte_fault(dev_dax, vmf, &pfn);
   406                  break;
   407          case PE_SIZE_PMD:
   408                  fault_size = PMD_SIZE;
   409                  rc = __dev_dax_pmd_fault(dev_dax, vmf, &pfn);
   410                  break;
   411          case PE_SIZE_PUD:
   412                  fault_size = PUD_SIZE;
 > 413                  rc = __dev_dax_pud_fault(dev_dax, vmf, &pfn);
   414                  break;
   415          default:
   416                  rc = VM_FAULT_SIGBUS;
   417          }
   418  
   419          if (rc == VM_FAULT_NOPAGE) {
   420                  unsigned long i;
   421  
   422                  for (i = 0; i < fault_size / PAGE_SIZE; i++) {
   423                          struct page *page;
   424  
   425                          page = pfn_to_page(pfn_t_to_pfn(pfn) + i);
   426                          if (page->mapping)
   427                                  continue;
   428                          page->mapping = filp->f_mapping;
   429                  }
   430          }
   431          dax_read_unlock(id);
   432  
   433          return rc;
   434  }
   435  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to