[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201910271514.G7Dilhf7%lkp@intel.com>
Date: Sun, 27 Oct 2019 15:59:36 +0800
From: kbuild test robot <lkp@...el.com>
To: Steven Price <steven.price@....com>
Cc: kbuild-all@...ts.01.org, linux-mm@...ck.org,
Steven Price <steven.price@....com>,
Andy Lutomirski <luto@...nel.org>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Arnd Bergmann <arnd@...db.de>, Borislav Petkov <bp@...en8.de>,
Catalin Marinas <catalin.marinas@....com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Ingo Molnar <mingo@...hat.com>,
James Morse <james.morse@....com>,
Jérôme Glisse <jglisse@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Will Deacon <will@...nel.org>, x86@...nel.org,
"H. Peter Anvin" <hpa@...or.com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Mark Rutland <Mark.Rutland@....com>,
"Liang, Kan" <kan.liang@...ux.intel.com>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH v13 12/22] mm: pagewalk: Allow walking without vma
Hi Steven,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.4-rc4 next-20191025]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Steven-Price/Generic-page-walk-and-ptdump/20191027-140322
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 5a1e843c66fa6438f389045981c37e4073917641
config: arc-defconfig (attached as .config)
compiler: arc-elf-gcc (GCC) 7.4.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
GCC_VERSION=7.4.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@...el.com>
All error/warnings (new ones prefixed by >>):
In file included from arch/arc/include/asm/thread_info.h:16:0,
from include/linux/thread_info.h:38,
from include/asm-generic/preempt.h:5,
from ./arch/arc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/mm.h:10,
from include/linux/pagewalk.h:5,
from mm/pagewalk.c:2:
mm/pagewalk.c: In function 'walk_pmd_range':
>> include/asm-generic/pgtable-nopmd.h:49:35: error: 'pmd' is a pointer; did you mean to use '->'?
#define pmd_val(x) (pud_val((x).pud))
^
arch/arc/include/asm/page.h:65:21: note: in definition of macro 'pgd_val'
#define pgd_val(x) (x)
^
include/asm-generic/pgtable-nopmd.h:49:24: note: in expansion of macro 'pud_val'
#define pmd_val(x) (pud_val((x).pud))
^~~~~~~
>> arch/arc/include/asm/pgtable.h:277:24: note: in expansion of macro 'pmd_val'
#define pmd_leaf(x) (pmd_val(pmd) & _PAGE_HW_SZ)
^~~~~~~
>> mm/pagewalk.c:68:14: note: in expansion of macro 'pmd_leaf'
} else if (pmd_leaf(*pmd)) {
^~~~~~~~
vim +/pmd_leaf +68 mm/pagewalk.c
28
29 static int walk_pmd_range(pud_t *pud, unsigned long addr, unsigned long end,
30 struct mm_walk *walk)
31 {
32 pmd_t *pmd;
33 unsigned long next;
34 const struct mm_walk_ops *ops = walk->ops;
35 int err = 0;
36
37 pmd = pmd_offset(pud, addr);
38 do {
39 again:
40 next = pmd_addr_end(addr, end);
41 if (pmd_none(*pmd)) {
42 if (ops->pte_hole)
43 err = ops->pte_hole(addr, next, walk);
44 if (err)
45 break;
46 continue;
47 }
48 /*
49 * This implies that each ->pmd_entry() handler
50 * needs to know about pmd_trans_huge() pmds
51 */
52 if (ops->pmd_entry)
53 err = ops->pmd_entry(pmd, addr, next, walk);
54 if (err)
55 break;
56
57 /*
58 * Check this here so we only break down trans_huge
59 * pages when we _need_ to
60 */
61 if (!ops->pte_entry)
62 continue;
63
64 if (walk->vma) {
65 split_huge_pmd(walk->vma, pmd, addr);
66 if (pmd_trans_unstable(pmd))
67 goto again;
> 68 } else if (pmd_leaf(*pmd)) {
69 continue;
70 }
71
72 err = walk_pte_range(pmd, addr, next, walk);
73 if (err)
74 break;
75 } while (pmd++, addr = next, addr != end);
76
77 return err;
78 }
79
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Download attachment ".config.gz" of type "application/gzip" (8654 bytes)
Powered by blists - more mailing lists