tree:
https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git perf/core
head: 39158b76c2ab8784b5f9053a4eb0d2aebd8a0d87
commit: 2f1e2f091ad0ea159bc7e6f3df996839cf0a6c06 [13/16] perf/core: Fix
arch_perf_get_page_size()
config: mips-allmodconfig (attached as .config)
compiler: mips-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 perf/core
git checkout 2f1e2f091ad0ea159bc7e6f3df996839cf0a6c06
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
kernel/events/core.c:6541:6: warning: no previous prototype for
'perf_pmu_snapshot_aux' [-Wmissing-prototypes]
6541 | long perf_pmu_snapshot_aux(struct perf_buffer *rb,
| ^~~~~~~~~~~~~~~~~~~~~
kernel/events/core.c: In function 'perf_get_tlb_page_size':
> kernel/events/core.c:7033:9: error: implicit declaration of
function 'p4d_offset_lockless'; did you mean 'ptep_get_lockless'?
[-Werror=implicit-function-declaration]
7033 | p4dp = p4d_offset_lockless(pgdp,
pgd, addr);
| ^~~~~~~~~~~~~~~~~~~
| ptep_get_lockless
> kernel/events/core.c:7033:7: warning: assignment to 'p4d_t
*' {aka 'struct <anonymous> *'} from 'int' makes pointer from
integer without a cast [-Wint-conversion]
7033 | p4dp =
p4d_offset_lockless(pgdp, pgd, addr);
| ^
> kernel/events/core.c:7041:9: error: implicit declaration of
function 'pud_offset_lockless'; did you mean 'ptep_get_lockless'?
[-Werror=implicit-function-declaration]
7041 | pudp = pud_offset_lockless(p4dp,
p4d, addr);
| ^~~~~~~~~~~~~~~~~~~
| ptep_get_lockless
> kernel/events/core.c:7041:7: warning: assignment to 'pud_t
*' {aka 'struct <anonymous> *'} from 'int' makes pointer from
integer without a cast [-Wint-conversion]
7041 | pudp =
pud_offset_lockless(p4dp, p4d, addr);
| ^
> kernel/events/core.c:7049:9: error: implicit declaration of
function 'pmd_offset_lockless'; did you mean 'ptep_get_lockless'?
[-Werror=implicit-function-declaration]
7049 | pmdp = pmd_offset_lockless(pudp,
pud, addr);
| ^~~~~~~~~~~~~~~~~~~
| ptep_get_lockless
> kernel/events/core.c:7049:7: warning: assignment to 'pmd_t
*' {aka 'struct <anonymous> *'} from 'int' makes pointer from
integer without a cast [-Wint-conversion]
7049 | pmdp =
pmd_offset_lockless(pudp, pud, addr);
| ^
cc1: some warnings being treated as errors
vim +7033 kernel/events/core.c
7010
7011 /*
7012 * Return the MMU/TLB page size of a given virtual address.
7013 */
7014 static u64 perf_get_tlb_page_size(struct mm_struct *mm, unsigned long addr)
7015 {
7016 u64 size = 0;
7017
7018 #ifdef CONFIG_HAVE_FAST_GUP
7019 pgd_t *pgdp, pgd;
7020 p4d_t *p4dp, p4d;
7021 pud_t *pudp, pud;
7022 pmd_t *pmdp, pmd;
7023 pte_t *ptep, pte;
7024
7025 pgdp = pgd_offset(mm, addr);
7026 pgd = READ_ONCE(*pgdp);
7027 if (pgd_none(pgd))
7028 return 0;
7029
7030 if (pgd_leaf(pgd))
7031 return pgd_leaf_size(pgd);
7032
7033 p4dp = p4d_offset_lockless(pgdp, pgd, addr);
7034 p4d
= READ_ONCE(*p4dp);
7035 if (!p4d_present(p4d))
7036 return 0;
7037
7038 if (p4d_leaf(p4d))
7039 return p4d_leaf_size(p4d);
7040
7041 pudp = pud_offset_lockless(p4dp, p4d, addr);
7042 pud
= READ_ONCE(*pudp);
7043 if (!pud_present(pud))
7044 return 0;
7045
7046 if (pud_leaf(pud))
7047 return pud_leaf_size(pud);
7048
7049 pmdp = pmd_offset_lockless(pudp, pud, addr);
7050 pmd
= READ_ONCE(*pmdp);
7051 if (!pmd_present(pmd))
7052 return 0;
7053
7054 if (pmd_leaf(pmd))
7055 return pmd_leaf_size(pmd);
7056
7057 ptep = pte_offset_map(&pmd, addr);
7058 pte = ptep_get_lockless(ptep);
7059 if (pte_present(pte))
7060 size = pte_leaf_size(pte);
7061 pte_unmap(ptep);
7062 #endif /* CONFIG_HAVE_FAST_GUP */
7063
7064 return size;
7065 }
7066
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org