[soc:soc/arm 5/5] arch/arm/kernel/perf_event_v6.c:455:13: warning: 'armv6mpcore_pmu_disable_event' defined but not used

kernel test robot lkp at intel.com
Fri Dec 22 22:54:38 PST 2023


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git soc/arm
head:   2560cffd2134c2e070dee369b37f6e55438087f9
commit: 2560cffd2134c2e070dee369b37f6e55438087f9 [5/5] ARM: Delete ARM11MPCore (ARM11 ARMv6K SMP) support
config: arm-allmodconfig (https://download.01.org/0day-ci/archive/20231223/202312231434.wNbFQ3Bx-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231223/202312231434.wNbFQ3Bx-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312231434.wNbFQ3Bx-lkp@intel.com/

All warnings (new ones prefixed by >>):

   arch/arm/kernel/perf_event_v6.c:83:51: warning: initialized field overwritten [-Woverride-init]
      83 |         [PERF_COUNT_HW_STALLED_CYCLES_BACKEND]  = ARMV6_PERFCTR_LSU_FULL_STALL,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:83:51: note: (near initialization for 'armv6_perf_map[8]')
   arch/arm/kernel/perf_event_v6.c:96:51: warning: initialized field overwritten [-Woverride-init]
      96 |         [C(L1D)][C(OP_READ)][C(RESULT_ACCESS)]  = ARMV6_PERFCTR_DCACHE_ACCESS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:96:51: note: (near initialization for 'armv6_perf_cache_map[0][0][0]')
   arch/arm/kernel/perf_event_v6.c:97:51: warning: initialized field overwritten [-Woverride-init]
      97 |         [C(L1D)][C(OP_READ)][C(RESULT_MISS)]    = ARMV6_PERFCTR_DCACHE_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:97:51: note: (near initialization for 'armv6_perf_cache_map[0][0][1]')
   arch/arm/kernel/perf_event_v6.c:98:51: warning: initialized field overwritten [-Woverride-init]
      98 |         [C(L1D)][C(OP_WRITE)][C(RESULT_ACCESS)] = ARMV6_PERFCTR_DCACHE_ACCESS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:98:51: note: (near initialization for 'armv6_perf_cache_map[0][1][0]')
   arch/arm/kernel/perf_event_v6.c:99:51: warning: initialized field overwritten [-Woverride-init]
      99 |         [C(L1D)][C(OP_WRITE)][C(RESULT_MISS)]   = ARMV6_PERFCTR_DCACHE_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:99:51: note: (near initialization for 'armv6_perf_cache_map[0][1][1]')
   arch/arm/kernel/perf_event_v6.c:101:51: warning: initialized field overwritten [-Woverride-init]
     101 |         [C(L1I)][C(OP_READ)][C(RESULT_MISS)]    = ARMV6_PERFCTR_ICACHE_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:101:51: note: (near initialization for 'armv6_perf_cache_map[1][0][1]')
   arch/arm/kernel/perf_event_v6.c:109:51: warning: initialized field overwritten [-Woverride-init]
     109 |         [C(DTLB)][C(OP_READ)][C(RESULT_MISS)]   = ARMV6_PERFCTR_DTLB_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:109:51: note: (near initialization for 'armv6_perf_cache_map[3][0][1]')
   arch/arm/kernel/perf_event_v6.c:110:51: warning: initialized field overwritten [-Woverride-init]
     110 |         [C(DTLB)][C(OP_WRITE)][C(RESULT_MISS)]  = ARMV6_PERFCTR_DTLB_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:110:51: note: (near initialization for 'armv6_perf_cache_map[3][1][1]')
   arch/arm/kernel/perf_event_v6.c:112:51: warning: initialized field overwritten [-Woverride-init]
     112 |         [C(ITLB)][C(OP_READ)][C(RESULT_MISS)]   = ARMV6_PERFCTR_ITLB_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:112:51: note: (near initialization for 'armv6_perf_cache_map[4][0][1]')
   arch/arm/kernel/perf_event_v6.c:113:51: warning: initialized field overwritten [-Woverride-init]
     113 |         [C(ITLB)][C(OP_WRITE)][C(RESULT_MISS)]  = ARMV6_PERFCTR_ITLB_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:113:51: note: (near initialization for 'armv6_perf_cache_map[4][1][1]')
   arch/arm/kernel/perf_event_v6.c:146:51: warning: initialized field overwritten [-Woverride-init]
     146 |         [PERF_COUNT_HW_CPU_CYCLES]              = ARMV6MPCORE_PERFCTR_CPU_CYCLES,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:146:51: note: (near initialization for 'armv6mpcore_perf_map[0]')
   arch/arm/kernel/perf_event_v6.c:147:51: warning: initialized field overwritten [-Woverride-init]
     147 |         [PERF_COUNT_HW_INSTRUCTIONS]            = ARMV6MPCORE_PERFCTR_INSTR_EXEC,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:147:51: note: (near initialization for 'armv6mpcore_perf_map[1]')
   arch/arm/kernel/perf_event_v6.c:148:51: warning: initialized field overwritten [-Woverride-init]
     148 |         [PERF_COUNT_HW_BRANCH_INSTRUCTIONS]     = ARMV6MPCORE_PERFCTR_BR_EXEC,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:148:51: note: (near initialization for 'armv6mpcore_perf_map[4]')
   arch/arm/kernel/perf_event_v6.c:149:51: warning: initialized field overwritten [-Woverride-init]
     149 |         [PERF_COUNT_HW_BRANCH_MISSES]           = ARMV6MPCORE_PERFCTR_BR_MISPREDICT,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:149:51: note: (near initialization for 'armv6mpcore_perf_map[5]')
   arch/arm/kernel/perf_event_v6.c:150:51: warning: initialized field overwritten [-Woverride-init]
     150 |         [PERF_COUNT_HW_STALLED_CYCLES_FRONTEND] = ARMV6MPCORE_PERFCTR_IBUF_STALL,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:150:51: note: (near initialization for 'armv6mpcore_perf_map[7]')
   arch/arm/kernel/perf_event_v6.c:151:51: warning: initialized field overwritten [-Woverride-init]
     151 |         [PERF_COUNT_HW_STALLED_CYCLES_BACKEND]  = ARMV6MPCORE_PERFCTR_LSU_FULL_STALL,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:151:51: note: (near initialization for 'armv6mpcore_perf_map[8]')
   arch/arm/kernel/perf_event_v6.c:159:51: warning: initialized field overwritten [-Woverride-init]
     159 |         [C(L1D)][C(OP_READ)][C(RESULT_ACCESS)]  = ARMV6MPCORE_PERFCTR_DCACHE_RDACCESS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:159:51: note: (near initialization for 'armv6mpcore_perf_cache_map[0][0][0]')
   arch/arm/kernel/perf_event_v6.c:160:51: warning: initialized field overwritten [-Woverride-init]
     160 |         [C(L1D)][C(OP_READ)][C(RESULT_MISS)]    = ARMV6MPCORE_PERFCTR_DCACHE_RDMISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:160:51: note: (near initialization for 'armv6mpcore_perf_cache_map[0][0][1]')
   arch/arm/kernel/perf_event_v6.c:161:51: warning: initialized field overwritten [-Woverride-init]
     161 |         [C(L1D)][C(OP_WRITE)][C(RESULT_ACCESS)] = ARMV6MPCORE_PERFCTR_DCACHE_WRACCESS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:161:51: note: (near initialization for 'armv6mpcore_perf_cache_map[0][1][0]')
   arch/arm/kernel/perf_event_v6.c:162:51: warning: initialized field overwritten [-Woverride-init]
     162 |         [C(L1D)][C(OP_WRITE)][C(RESULT_MISS)]   = ARMV6MPCORE_PERFCTR_DCACHE_WRMISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:162:51: note: (near initialization for 'armv6mpcore_perf_cache_map[0][1][1]')
   arch/arm/kernel/perf_event_v6.c:164:51: warning: initialized field overwritten [-Woverride-init]
     164 |         [C(L1I)][C(OP_READ)][C(RESULT_MISS)]    = ARMV6MPCORE_PERFCTR_ICACHE_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:164:51: note: (near initialization for 'armv6mpcore_perf_cache_map[1][0][1]')
   arch/arm/kernel/perf_event_v6.c:172:51: warning: initialized field overwritten [-Woverride-init]
     172 |         [C(DTLB)][C(OP_READ)][C(RESULT_MISS)]   = ARMV6MPCORE_PERFCTR_DTLB_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:172:51: note: (near initialization for 'armv6mpcore_perf_cache_map[3][0][1]')
   arch/arm/kernel/perf_event_v6.c:173:51: warning: initialized field overwritten [-Woverride-init]
     173 |         [C(DTLB)][C(OP_WRITE)][C(RESULT_MISS)]  = ARMV6MPCORE_PERFCTR_DTLB_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:173:51: note: (near initialization for 'armv6mpcore_perf_cache_map[3][1][1]')
   arch/arm/kernel/perf_event_v6.c:175:51: warning: initialized field overwritten [-Woverride-init]
     175 |         [C(ITLB)][C(OP_READ)][C(RESULT_MISS)]   = ARMV6MPCORE_PERFCTR_ITLB_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:175:51: note: (near initialization for 'armv6mpcore_perf_cache_map[4][0][1]')
   arch/arm/kernel/perf_event_v6.c:176:51: warning: initialized field overwritten [-Woverride-init]
     176 |         [C(ITLB)][C(OP_WRITE)][C(RESULT_MISS)]  = ARMV6MPCORE_PERFCTR_ITLB_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/kernel/perf_event_v6.c:176:51: note: (near initialization for 'armv6mpcore_perf_cache_map[4][1][1]')
>> arch/arm/kernel/perf_event_v6.c:455:13: warning: 'armv6mpcore_pmu_disable_event' defined but not used [-Wunused-function]
     455 | static void armv6mpcore_pmu_disable_event(struct perf_event *event)
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/arm/kernel/perf_event_v6.c:154:23: warning: 'armv6mpcore_perf_cache_map' defined but not used [-Wunused-const-variable=]
     154 | static const unsigned armv6mpcore_perf_cache_map[PERF_COUNT_HW_CACHE_MAX]
         |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/arm/kernel/perf_event_v6.c:144:23: warning: 'armv6mpcore_perf_map' defined but not used [-Wunused-const-variable=]
     144 | static const unsigned armv6mpcore_perf_map[PERF_COUNT_HW_MAX] = {
         |                       ^~~~~~~~~~~~~~~~~~~~


vim +/armv6mpcore_pmu_disable_event +455 arch/arm/kernel/perf_event_v6.c

43eab87828fee6 Will Deacon  2010-11-13  454  
ed6f2a522398c2 Sudeep Holla 2012-07-30 @455  static void armv6mpcore_pmu_disable_event(struct perf_event *event)
43eab87828fee6 Will Deacon  2010-11-13  456  {
43eab87828fee6 Will Deacon  2010-11-13  457  	unsigned long val, mask, flags, evt = 0;
ed6f2a522398c2 Sudeep Holla 2012-07-30  458  	struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
ed6f2a522398c2 Sudeep Holla 2012-07-30  459  	struct hw_perf_event *hwc = &event->hw;
11679250860700 Mark Rutland 2014-05-13  460  	struct pmu_hw_events *events = this_cpu_ptr(cpu_pmu->hw_events);
ed6f2a522398c2 Sudeep Holla 2012-07-30  461  	int idx = hwc->idx;
43eab87828fee6 Will Deacon  2010-11-13  462  
43eab87828fee6 Will Deacon  2010-11-13  463  	if (ARMV6_CYCLE_COUNTER == idx) {
43eab87828fee6 Will Deacon  2010-11-13  464  		mask	= ARMV6_PMCR_CCOUNT_IEN;
43eab87828fee6 Will Deacon  2010-11-13  465  	} else if (ARMV6_COUNTER0 == idx) {
43eab87828fee6 Will Deacon  2010-11-13  466  		mask	= ARMV6_PMCR_COUNT0_IEN;
43eab87828fee6 Will Deacon  2010-11-13  467  	} else if (ARMV6_COUNTER1 == idx) {
43eab87828fee6 Will Deacon  2010-11-13  468  		mask	= ARMV6_PMCR_COUNT1_IEN;
43eab87828fee6 Will Deacon  2010-11-13  469  	} else {
43eab87828fee6 Will Deacon  2010-11-13  470  		WARN_ONCE(1, "invalid counter number (%d)\n", idx);
43eab87828fee6 Will Deacon  2010-11-13  471  		return;
43eab87828fee6 Will Deacon  2010-11-13  472  	}
43eab87828fee6 Will Deacon  2010-11-13  473  
43eab87828fee6 Will Deacon  2010-11-13  474  	/*
43eab87828fee6 Will Deacon  2010-11-13  475  	 * Unlike UP ARMv6, we don't have a way of stopping the counters. We
43eab87828fee6 Will Deacon  2010-11-13  476  	 * simply disable the interrupt reporting.
43eab87828fee6 Will Deacon  2010-11-13  477  	 */
0f78d2d5ccf72e Mark Rutland 2011-04-28  478  	raw_spin_lock_irqsave(&events->pmu_lock, flags);
43eab87828fee6 Will Deacon  2010-11-13  479  	val = armv6_pmcr_read();
43eab87828fee6 Will Deacon  2010-11-13  480  	val &= ~mask;
43eab87828fee6 Will Deacon  2010-11-13  481  	val |= evt;
43eab87828fee6 Will Deacon  2010-11-13  482  	armv6_pmcr_write(val);
0f78d2d5ccf72e Mark Rutland 2011-04-28  483  	raw_spin_unlock_irqrestore(&events->pmu_lock, flags);
43eab87828fee6 Will Deacon  2010-11-13  484  }
43eab87828fee6 Will Deacon  2010-11-13  485  

:::::: The code at line 455 was first introduced by commit
:::::: ed6f2a522398c26559f4da23a80aa6195e6284c7 ARM: perf: consistently use struct perf_event in arm_pmu functions

:::::: TO: Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha at arm.com>
:::::: CC: Will Deacon <will.deacon at arm.com>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



More information about the linux-arm-kernel mailing list