Hi,
On Sat, 16 May 2020 at 01:21, kbuild test robot <lkp(a)intel.com> wrote:
Hi Sumit,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on arm64/for-next/core]
[also build test ERROR on arm-soc/for-next arm/for-next kvmarm/next linus/master v5.7-rc5
next-20200515]
[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]
This isn't a correct report as it doesn't take in account the
dependency of this patch on other patch-set [1] mentioned after "---".
[1]
https://patchwork.kernel.org/cover/11047407/
-Sumit
> url:
https://github.com/0day-ci/linux/commits/Sumit-Garg/arm64-Enable-perf-eve...
> base:
https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git
for-next/core
> config: arm64-randconfig-r025-20200515 (attached as .config)
> compiler: clang version 11.0.0 (
https://github.com/llvm/llvm-project
9d4cf5bd421fb6467ff5f00e26a37527246dd4d6)
> reproduce:
> wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
-O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # install arm64 cross compiling tool for clang build
> # apt-get install binutils-aarch64-linux-gnu
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kbuild test robot <lkp(a)intel.com>
>
> All errors (new ones prefixed by >>, old ones prefixed by <<):
>
> drivers/perf/arm_pmu.c:613:20: error: use of undeclared identifier
'cpu_irq_ops'; did you mean 'cpu_map_ops'?
> irq_ops = per_cpu(cpu_irq_ops, smp_processor_id());
> ^~~~~~~~~~~
> cpu_map_ops
> include/linux/percpu-defs.h:269:43: note: expanded from macro 'per_cpu'
> #define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))
> ^
> include/linux/percpu-defs.h:235:20: note: expanded from macro 'per_cpu_ptr'
> __verify_pcpu_ptr(ptr);
^
> include/linux/percpu-defs.h:219:47: note: expanded from macro
'__verify_pcpu_ptr'
> const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL;
^
> include/linux/bpf_types.h:108:35: note: 'cpu_map_ops' declared here
> BPF_MAP_TYPE(BPF_MAP_TYPE_CPUMAP, cpu_map_ops)
> ^
> drivers/perf/arm_pmu.c:613:20: error: use of undeclared identifier
'cpu_irq_ops'; did you mean 'cpu_map_ops'?
> irq_ops = per_cpu(cpu_irq_ops, smp_processor_id());
> ^~~~~~~~~~~
> cpu_map_ops
> include/linux/percpu-defs.h:269:43: note: expanded from macro 'per_cpu'
> #define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))
> ^
> include/linux/percpu-defs.h:236:20: note: expanded from macro 'per_cpu_ptr'
> SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu)));
^
> include/linux/percpu-defs.h:231:23: note: expanded from macro
'SHIFT_PERCPU_PTR'
> RELOC_HIDE((typeof(*(__p)) __kernel __force *)(__p), (__offset))
> ^
> include/linux/compiler.h:165:31: note: expanded from macro 'RELOC_HIDE'
> __ptr = (unsigned long) (ptr);
^
> include/linux/bpf_types.h:108:35: note: 'cpu_map_ops' declared here
> BPF_MAP_TYPE(BPF_MAP_TYPE_CPUMAP, cpu_map_ops)
> ^
> drivers/perf/arm_pmu.c:613:20: error: use of undeclared identifier
'cpu_irq_ops'; did you mean 'cpu_map_ops'?
> irq_ops = per_cpu(cpu_irq_ops, smp_processor_id());
> ^~~~~~~~~~~
> cpu_map_ops
> include/linux/percpu-defs.h:269:43: note: expanded from macro 'per_cpu'
> #define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))
> ^
> include/linux/percpu-defs.h:236:20: note: expanded from macro 'per_cpu_ptr'
> SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu)));
^
> include/linux/percpu-defs.h:231:49: note: expanded from macro
'SHIFT_PERCPU_PTR'
> RELOC_HIDE((typeof(*(__p)) __kernel __force *)(__p), (__offset))
> ^
> include/linux/compiler.h:165:31: note: expanded from macro 'RELOC_HIDE'
> __ptr = (unsigned long) (ptr);
^
> include/linux/bpf_types.h:108:35: note: 'cpu_map_ops' declared here
> BPF_MAP_TYPE(BPF_MAP_TYPE_CPUMAP, cpu_map_ops)
> ^
> drivers/perf/arm_pmu.c:613:20: error: use of undeclared identifier
'cpu_irq_ops'; did you mean 'cpu_map_ops'?
> irq_ops = per_cpu(cpu_irq_ops, smp_processor_id());
> ^~~~~~~~~~~
> cpu_map_ops
> include/linux/percpu-defs.h:269:43: note: expanded from macro 'per_cpu'
> #define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))
> ^
> include/linux/percpu-defs.h:236:20: note: expanded from macro 'per_cpu_ptr'
> SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu)));
^
> include/linux/percpu-defs.h:231:23: note: expanded from macro
'SHIFT_PERCPU_PTR'
> RELOC_HIDE((typeof(*(__p)) __kernel __force *)(__p), (__offset))
> ^
> include/linux/compiler.h:166:13: note: expanded from macro 'RELOC_HIDE'
> (typeof(ptr)) (__ptr + (off)); })
> ^
> include/linux/bpf_types.h:108:35: note: 'cpu_map_ops' declared here
> BPF_MAP_TYPE(BPF_MAP_TYPE_CPUMAP, cpu_map_ops)
> ^
> drivers/perf/arm_pmu.c:613:20: error: use of undeclared identifier
'cpu_irq_ops'; did you mean 'cpu_map_ops'?
> irq_ops = per_cpu(cpu_irq_ops, smp_processor_id());
> ^~~~~~~~~~~
> cpu_map_ops
> include/linux/percpu-defs.h:269:43: note: expanded from macro 'per_cpu'
> #define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))
> ^
> include/linux/percpu-defs.h:236:20: note: expanded from macro 'per_cpu_ptr'
> SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu)));
^
> include/linux/percpu-defs.h:231:49: note: expanded from macro
'SHIFT_PERCPU_PTR'
> RELOC_HIDE((typeof(*(__p)) __kernel __force *)(__p), (__offset))
> ^
> include/linux/compiler.h:166:13: note: expanded from macro 'RELOC_HIDE'
> (typeof(ptr)) (__ptr + (off)); })
> ^
> include/linux/bpf_types.h:108:35: note: 'cpu_map_ops' declared here
> BPF_MAP_TYPE(BPF_MAP_TYPE_CPUMAP, cpu_map_ops)
> ^
> >> drivers/perf/arm_pmu.c:613:10: error: assigning to 'const struct
pmu_irq_ops *' from incompatible type 'typeof (*((&(cpu_map_ops))))' (aka
'const struct bpf_map_ops')
> irq_ops = per_cpu(cpu_irq_ops, smp_processor_id());
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/perf/arm_pmu.c:614:18: error: use of undeclared identifier
'pmunmi_ops'
> if (irq_ops == &pmunmi_ops || irq_ops == &percpu_pmunmi_ops)
> ^
> drivers/perf/arm_pmu.c:614:44: error: use of undeclared identifier
'percpu_pmunmi_ops'
> if (irq_ops == &pmunmi_ops || irq_ops == &percpu_pmunmi_ops)
> ^
> 8 errors generated.
>
> vim +613 drivers/perf/arm_pmu.c
>
> 608
> 609 bool arm_pmu_irq_is_nmi(void)
> 610 {
> 611 const struct pmu_irq_ops *irq_ops;
> 612
> > 613 irq_ops = per_cpu(cpu_irq_ops, smp_processor_id());
> 614 if (irq_ops == &pmunmi_ops || irq_ops == &percpu_pmunmi_ops)
> 615 return true;
> 616 else
> 617 return false;
> 618 }
> 619
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
>
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org