tree:
https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git user-perf-event-v8
head: 6c21e13845aa482461c6c2bb5dfb5fa6210cf3ae
commit: 587bbcc77cad781c93747a5dda66584df9326a07 [6/8] arm64: perf: Enable PMU counter
userspace access for perf event
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-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/robh/linux.git/commit/?id...
git remote add robh
https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git
git fetch --no-tags robh user-perf-event-v8
git checkout 587bbcc77cad781c93747a5dda66584df9326a07
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
| ^~~~
arch/arm64/kernel/perf_event.c:143:41: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_RD'
143 | [C(L1D)][C(OP_READ)][C(RESULT_MISS)] =
ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_RD,
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:111:45: warning: initialized field overwritten
[-Woverride-init]
111 | #define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_WR 0x41
| ^~~~
arch/arm64/kernel/perf_event.c:144:44: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_L1D_CACHE_WR'
144 | [C(L1D)][C(OP_WRITE)][C(RESULT_ACCESS)] = ARMV8_IMPDEF_PERFCTR_L1D_CACHE_WR,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:111:45: note: (near initialization for
'armv8_vulcan_perf_cache_map[0][1][0]')
111 | #define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_WR 0x41
| ^~~~
arch/arm64/kernel/perf_event.c:144:44: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_L1D_CACHE_WR'
144 | [C(L1D)][C(OP_WRITE)][C(RESULT_ACCESS)] = ARMV8_IMPDEF_PERFCTR_L1D_CACHE_WR,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:113:51: warning: initialized field overwritten
[-Woverride-init]
113 | #define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_WR 0x43
| ^~~~
arch/arm64/kernel/perf_event.c:145:42: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_WR'
145 | [C(L1D)][C(OP_WRITE)][C(RESULT_MISS)] =
ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_WR,
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:113:51: note: (near initialization for
'armv8_vulcan_perf_cache_map[0][1][1]')
113 | #define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_WR 0x43
| ^~~~
arch/arm64/kernel/perf_event.c:145:42: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_WR'
145 | [C(L1D)][C(OP_WRITE)][C(RESULT_MISS)] =
ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_WR,
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:122:44: warning: initialized field overwritten
[-Woverride-init]
122 | #define ARMV8_IMPDEF_PERFCTR_L1D_TLB_RD 0x4E
| ^~~~
arch/arm64/kernel/perf_event.c:147:44: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_L1D_TLB_RD'
147 | [C(DTLB)][C(OP_READ)][C(RESULT_ACCESS)] = ARMV8_IMPDEF_PERFCTR_L1D_TLB_RD,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:122:44: note: (near initialization for
'armv8_vulcan_perf_cache_map[3][0][0]')
122 | #define ARMV8_IMPDEF_PERFCTR_L1D_TLB_RD 0x4E
| ^~~~
arch/arm64/kernel/perf_event.c:147:44: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_L1D_TLB_RD'
147 | [C(DTLB)][C(OP_READ)][C(RESULT_ACCESS)] = ARMV8_IMPDEF_PERFCTR_L1D_TLB_RD,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:123:44: warning: initialized field overwritten
[-Woverride-init]
123 | #define ARMV8_IMPDEF_PERFCTR_L1D_TLB_WR 0x4F
| ^~~~
arch/arm64/kernel/perf_event.c:148:45: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_L1D_TLB_WR'
148 | [C(DTLB)][C(OP_WRITE)][C(RESULT_ACCESS)] = ARMV8_IMPDEF_PERFCTR_L1D_TLB_WR,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:123:44: note: (near initialization for
'armv8_vulcan_perf_cache_map[3][1][0]')
123 | #define ARMV8_IMPDEF_PERFCTR_L1D_TLB_WR 0x4F
| ^~~~
arch/arm64/kernel/perf_event.c:148:45: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_L1D_TLB_WR'
148 | [C(DTLB)][C(OP_WRITE)][C(RESULT_ACCESS)] = ARMV8_IMPDEF_PERFCTR_L1D_TLB_WR,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:120:50: warning: initialized field overwritten
[-Woverride-init]
120 | #define ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_RD 0x4C
| ^~~~
arch/arm64/kernel/perf_event.c:149:42: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_RD'
149 | [C(DTLB)][C(OP_READ)][C(RESULT_MISS)] =
ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_RD,
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:120:50: note: (near initialization for
'armv8_vulcan_perf_cache_map[3][0][1]')
120 | #define ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_RD 0x4C
| ^~~~
arch/arm64/kernel/perf_event.c:149:42: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_RD'
149 | [C(DTLB)][C(OP_READ)][C(RESULT_MISS)] =
ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_RD,
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:121:50: warning: initialized field overwritten
[-Woverride-init]
121 | #define ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_WR 0x4D
| ^~~~
arch/arm64/kernel/perf_event.c:150:43: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_WR'
150 | [C(DTLB)][C(OP_WRITE)][C(RESULT_MISS)] =
ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_WR,
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:121:50: note: (near initialization for
'armv8_vulcan_perf_cache_map[3][1][1]')
121 | #define ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_WR 0x4D
| ^~~~
arch/arm64/kernel/perf_event.c:150:43: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_WR'
150 | [C(DTLB)][C(OP_WRITE)][C(RESULT_MISS)] =
ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_WR,
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:137:46: warning: initialized field overwritten
[-Woverride-init]
137 | #define ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_RD 0x60
| ^~~~
arch/arm64/kernel/perf_event.c:152:44: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_RD'
152 | [C(NODE)][C(OP_READ)][C(RESULT_ACCESS)] = ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_RD,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:137:46: note: (near initialization for
'armv8_vulcan_perf_cache_map[6][0][0]')
137 | #define ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_RD 0x60
| ^~~~
arch/arm64/kernel/perf_event.c:152:44: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_RD'
152 | [C(NODE)][C(OP_READ)][C(RESULT_ACCESS)] = ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_RD,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:138:46: warning: initialized field overwritten
[-Woverride-init]
138 | #define ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_WR 0x61
| ^~~~
arch/arm64/kernel/perf_event.c:153:45: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_WR'
153 | [C(NODE)][C(OP_WRITE)][C(RESULT_ACCESS)] =
ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_WR,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/perf_event.h:138:46: note: (near initialization for
'armv8_vulcan_perf_cache_map[6][1][0]')
138 | #define ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_WR 0x61
| ^~~~
arch/arm64/kernel/perf_event.c:153:45: note: in expansion of macro
'ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_WR'
153 | [C(NODE)][C(OP_WRITE)][C(RESULT_ACCESS)] =
ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_WR,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/arm64/kernel/perf_event.c:918:6: warning: no previous
prototype for 'armv8pmu_sched_task' [-Wmissing-prototypes]
918 | void
armv8pmu_sched_task(struct perf_event_context *ctx, bool sched_in)
| ^~~~~~~~~~~~~~~~~~~
arch/arm64/kernel/perf_event.c: In function 'armv8pmu_sched_task':
arch/arm64/kernel/perf_event.c:920:38: error: 'struct arm_pmu' has no member
named 'attr_rdpmc'
920 | if (sched_in && to_arm_pmu(ctx->pmu)->attr_rdpmc &&
atomic_read(&ctx->nr_user))
| ^~
vim +/armv8pmu_sched_task +918 arch/arm64/kernel/perf_event.c
917
918 void armv8pmu_sched_task(struct perf_event_context *ctx, bool
sched_in)
919 {
920 if (sched_in && to_arm_pmu(ctx->pmu)->attr_rdpmc &&
atomic_read(&ctx->nr_user))
921 armv8pmu_enable_user_access();
922 else
923 armv8pmu_disable_user_access();
924 }
925
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org