tree:
https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git mm/tlb
head: b713312c9af68e0fb51095e4d16e83621001ad0c
commit: 919677967829878727b1bcb88953eed2bc70f366 [6/10] ia64/tlb: Fix __p*_free_tlb()
config: ia64-defconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
#
https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?...
git remote add peterz-queue
https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
git fetch --no-tags peterz-queue mm/tlb
git checkout 919677967829878727b1bcb88953eed2bc70f366
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
mm/memory.c: In function 'free_pmd_range':
mm/memory.c:5278: error: unterminated argument list invoking macro
"tlb_remove_table"
5278 | #endif
|
In file included from mm/memory.c:81:
arch/ia64/include/asm/pgalloc.h:50:2: error: 'tlb_remove_table' undeclared
(first use in this function); did you mean 'tlb_remove_page'?
50 | tlb_remove_table((tlb), virt_to_page(pmd)
| ^~~~~~~~~~~~~~~~
include/asm-generic/tlb.h:638:3: note: in expansion of macro '__pmd_free_tlb'
638 | __pmd_free_tlb(tlb, pmdp, address); \
| ^~~~~~~~~~~~~~
mm/memory.c:266:2: note: in expansion of macro 'pmd_free_tlb'
266 | pmd_free_tlb(tlb, pmd, start);
| ^~~~~~~~~~~~
arch/ia64/include/asm/pgalloc.h:50:2: note: each undeclared identifier is reported only
once for each function it appears in
50 | tlb_remove_table((tlb), virt_to_page(pmd)
| ^~~~~~~~~~~~~~~~
include/asm-generic/tlb.h:638:3: note: in expansion of macro '__pmd_free_tlb'
638 | __pmd_free_tlb(tlb, pmdp, address); \
| ^~~~~~~~~~~~~~
mm/memory.c:266:2: note: in expansion of macro 'pmd_free_tlb'
266 | pmd_free_tlb(tlb, pmd, start);
| ^~~~~~~~~~~~
mm/memory.c:5278: error: expected ';' at end of input
5278 | #endif
|
> mm/memory.c:266:2: error: expected declaration or statement at
end of input
266 | pmd_free_tlb(tlb, pmd, start);
| ^~~~~~~~~~~~
> mm/memory.c:266:2: error: expected declaration or statement at
end of input
At top level:
mm/memory.c:205:13: warning: 'check_sync_rss_stat' defined but not used
[-Wunused-function]
205 | static void check_sync_rss_stat(struct task_struct *task)
| ^~~~~~~~~~~~~~~~~~~
mm/memory.c:191:13: warning: 'add_mm_counter_fast' defined but not used
[-Wunused-function]
191 | static void add_mm_counter_fast(struct mm_struct *mm, int member, int val)
| ^~~~~~~~~~~~~~~~~~~
vim +266 mm/memory.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 235
e0da382c92626a Hugh Dickins 2005-04-19 236 static inline void
free_pmd_range(struct mmu_gather *tlb, pud_t *pud,
e0da382c92626a Hugh Dickins 2005-04-19 237 unsigned long addr, unsigned
long end,
e0da382c92626a Hugh Dickins 2005-04-19 238 unsigned long floor, unsigned
long ceiling)
^1da177e4c3f41 Linus Torvalds 2005-04-16 239 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 240 pmd_t *pmd;
^1da177e4c3f41 Linus Torvalds 2005-04-16 241 unsigned long next;
e0da382c92626a Hugh Dickins 2005-04-19 242 unsigned long start;
^1da177e4c3f41 Linus Torvalds 2005-04-16 243
e0da382c92626a Hugh Dickins 2005-04-19 244 start = addr;
^1da177e4c3f41 Linus Torvalds 2005-04-16 245 pmd = pmd_offset(pud, addr);
^1da177e4c3f41 Linus Torvalds 2005-04-16 246 do {
^1da177e4c3f41 Linus Torvalds 2005-04-16 247 next = pmd_addr_end(addr, end);
^1da177e4c3f41 Linus Torvalds 2005-04-16 248 if (pmd_none_or_clear_bad(pmd))
^1da177e4c3f41 Linus Torvalds 2005-04-16 249 continue;
9e1b32caa525cb Benjamin Herrenschmidt 2009-07-22 250 free_pte_range(tlb, pmd, addr);
^1da177e4c3f41 Linus Torvalds 2005-04-16 251 } while (pmd++, addr = next, addr
!= end);
^1da177e4c3f41 Linus Torvalds 2005-04-16 252
e0da382c92626a Hugh Dickins 2005-04-19 253 start &= PUD_MASK;
e0da382c92626a Hugh Dickins 2005-04-19 254 if (start < floor)
e0da382c92626a Hugh Dickins 2005-04-19 255 return;
e0da382c92626a Hugh Dickins 2005-04-19 256 if (ceiling) {
e0da382c92626a Hugh Dickins 2005-04-19 257 ceiling &= PUD_MASK;
e0da382c92626a Hugh Dickins 2005-04-19 258 if (!ceiling)
e0da382c92626a Hugh Dickins 2005-04-19 259 return;
^1da177e4c3f41 Linus Torvalds 2005-04-16 260 }
e0da382c92626a Hugh Dickins 2005-04-19 261 if (end - 1 > ceiling - 1)
e0da382c92626a Hugh Dickins 2005-04-19 262 return;
e0da382c92626a Hugh Dickins 2005-04-19 263
e0da382c92626a Hugh Dickins 2005-04-19 264 pmd = pmd_offset(pud, start);
e0da382c92626a Hugh Dickins 2005-04-19 265 pud_clear(pud);
9e1b32caa525cb Benjamin Herrenschmidt 2009-07-22 @266 pmd_free_tlb(tlb, pmd, start);
dc6c9a35b66b52 Kirill A. Shutemov 2015-02-11 267 mm_dec_nr_pmds(tlb->mm);
^1da177e4c3f41 Linus Torvalds 2005-04-16 268 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 269
:::::: The code at line 266 was first introduced by commit
:::::: 9e1b32caa525cb236e80e9c671e179bcecccc657 mm: Pass virtual address to
[__]p{te,ud,md}_free_tlb()
:::::: TO: Benjamin Herrenschmidt <benh(a)kernel.crashing.org>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org