Re: [PATCHv2 07/12] mm: convert try_to_unmap_one() to page_vma_mapped_walk()

From: kbuild test robot
Date: Wed Jan 25 2017 - 14:06:01 EST


Hi Kirill,

[auto build test WARNING on mmotm/master]
[also build test WARNING 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: m68k-multi_defconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 4.9.0
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=m68k

All warnings (new ones prefixed by >>):

In file included from arch/m68k/include/asm/thread_info.h:5:0,
from include/linux/thread_info.h:25,
from include/asm-generic/preempt.h:4,
from ./arch/m68k/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:59,
from include/linux/spinlock.h:50,
from include/linux/mmzone.h:7,
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/m68k/include/asm/page.h:29:24: error: request for member 'pte' in something not a structure or union
#define pte_val(x) ((x).pte)
^
>> arch/m68k/include/asm/motorola_pgtable.h:134:24: note: in expansion of macro 'pte_val'
#define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT)
^
mm/rmap.c:1520:34: note: in expansion of macro 'pte_pfn'
flush_cache_page(vma, address, pte_pfn(pvmw.pte));
^

vim +/pte_val +134 arch/m68k/include/asm/motorola_pgtable.h

^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 118
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 119 static inline void pgd_set(pgd_t *pgdp, pmd_t *pmdp)
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 120 {
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 121 pgd_val(*pgdp) = _PAGE_TABLE | _PAGE_ACCESSED | __pa(pmdp);
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 122 }
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 123
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 124 #define __pte_page(pte) ((unsigned long)__va(pte_val(pte) & PAGE_MASK))
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 125 #define __pmd_page(pmd) ((unsigned long)__va(pmd_val(pmd) & _TABLE_MASK))
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 126 #define __pgd_page(pgd) ((unsigned long)__va(pgd_val(pgd) & _TABLE_MASK))
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 127
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 128
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 129 #define pte_none(pte) (!pte_val(pte))
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 130 #define pte_present(pte) (pte_val(pte) & (_PAGE_PRESENT | _PAGE_PROTNONE))
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 131 #define pte_clear(mm,addr,ptep) ({ pte_val(*(ptep)) = 0; })
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 132
12d810c1 include/asm-m68k/motorola_pgtable.h Roman Zippel 2007-05-31 133 #define pte_page(pte) virt_to_page(__va(pte_val(pte)))
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 @134 #define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT)
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 135 #define pfn_pte(pfn, prot) __pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot))
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 136
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 137 #define pmd_none(pmd) (!pmd_val(pmd))
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 138 #define pmd_bad(pmd) ((pmd_val(pmd) & _DESCTYPE_MASK) != _PAGE_TABLE)
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 139 #define pmd_present(pmd) (pmd_val(pmd) & _PAGE_TABLE)
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 140 #define pmd_clear(pmdp) ({ \
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 141 unsigned long *__ptr = pmdp->pmd; \
^1da177e include/asm-m68k/motorola_pgtable.h Linus Torvalds 2005-04-16 142 short __i = 16; \

:::::: The code at line 134 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip