Hi Kirill,

[auto build test ERROR on mmotm/master]
[also build test ERROR on v4.10-rc5 next-20170125]
[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/Kirill-A-Shutemov/Fix-few-rmap-related-THP-bugs/20170126-023339
base:   git://git.cmpxchg.org/linux-mmotm.git master
config: parisc-c3000_defconfig (attached as .config)
compiler: hppa-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget 
https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
 -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=parisc 

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/mmzone.h:20:0,
                    from include/linux/gfp.h:5,
                    from include/linux/mm.h:9,
                    from mm/rmap.c:48:
   mm/rmap.c: In function 'try_to_unmap_one':
>> arch/parisc/include/asm/page.h:48:24: error: 'pvmw.pte' is a pointer; did 
>> you mean to use '->'?
    #define pte_val(x) ((x).pte)
                           ^
                                     ->
>> arch/parisc/include/asm/pgtable.h:410:22: note: in expansion of macro 
>> 'pte_val'
    #define pte_pfn(x)  (pte_val(x) >> PFN_PTE_SHIFT)
                         ^~~~~~~
>> mm/rmap.c:1520:34: note: in expansion of macro 'pte_pfn'
      flush_cache_page(vma, address, pte_pfn(pvmw.pte));
                                     ^~~~~~~

vim +/pte_pfn +1520 mm/rmap.c

  1504                                  break;
  1505                          }
  1506                          if (flags & TTU_MUNLOCK)
  1507                                  continue;
  1508                  }
  1509  
  1510                  if (!(flags & TTU_IGNORE_ACCESS)) {
  1511                          if (ptep_clear_flush_young_notify(vma, address,
  1512                                                  pvmw.pte)) {
  1513                                  ret = SWAP_FAIL;
  1514                                  page_vma_mapped_walk_done(&pvmw);
  1515                                  break;
  1516                          }
  1517                  }
  1518  
  1519                  /* Nuke the page table entry. */
> 1520                  flush_cache_page(vma, address, pte_pfn(pvmw.pte));
  1521                  if (should_defer_flush(mm, flags)) {
  1522                          /*
  1523                           * We clear the PTE but do not flush so 
potentially
  1524                           * a remote CPU could still be writing to the 
page.
  1525                           * If the entry was previously clean then the
  1526                           * architecture must guarantee that a 
clear->dirty
  1527                           * transition on a cached TLB entry is written 
through
  1528                           * and traps if the PTE is unmapped.

---
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