Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: [mark:perf/overflow 1/3] drivers/perf/arm_xscale_pmu.c:490:2: error: use of undeclared identifier 'regs'
Date: Thu, 26 Sep 2024 09:52:27 +0800	[thread overview]
Message-ID: <202409260959.0FgHD18l-lkp@intel.com> (raw)

Hi Mark,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git perf/overflow
head:   06cbb8d243d9460a076f27bcd65e20f315ff8548
commit: 63eb790cce010268faf55e9844a7688bb9da6b1a [1/3] arm_pmu: centralise event overflow handling
config: arm-randconfig-004-20240926 (https://download.01.org/0day-ci/archive/20240926/202409260959.0FgHD18l-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 7773243d9916f98ba0ffce0c3a960e4aa9f03e81)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240926/202409260959.0FgHD18l-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409260959.0FgHD18l-lkp@intel.com/

All errors (new ones prefixed by >>):

         |                                             ^~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:41:31: note: expanded from macro 'CACHE_OP_UNSUPPORTED'
      41 | #define CACHE_OP_UNSUPPORTED            0xFFFF
         |                                         ^~~~~~
   drivers/perf/arm_xscale_pmu.c:74:41: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
      74 |         [C(L1D)][C(OP_READ)][C(RESULT_MISS)]    = XSCALE_PERFCTR_DCACHE_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/perf/arm_xscale_pmu.c:71:2: note: previous initialization is here
      71 |         PERF_CACHE_MAP_ALL_UNSUPPORTED,
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:49:31: note: expanded from macro 'PERF_CACHE_MAP_ALL_UNSUPPORTED'
      49 |                 [0 ... C(RESULT_MAX) - 1] = CACHE_OP_UNSUPPORTED,       \
         |                                             ^~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:41:31: note: expanded from macro 'CACHE_OP_UNSUPPORTED'
      41 | #define CACHE_OP_UNSUPPORTED            0xFFFF
         |                                         ^~~~~~
   drivers/perf/arm_xscale_pmu.c:75:44: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
      75 |         [C(L1D)][C(OP_WRITE)][C(RESULT_ACCESS)] = XSCALE_PERFCTR_DCACHE_ACCESS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/perf/arm_xscale_pmu.c:71:2: note: previous initialization is here
      71 |         PERF_CACHE_MAP_ALL_UNSUPPORTED,
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:49:31: note: expanded from macro 'PERF_CACHE_MAP_ALL_UNSUPPORTED'
      49 |                 [0 ... C(RESULT_MAX) - 1] = CACHE_OP_UNSUPPORTED,       \
         |                                             ^~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:41:31: note: expanded from macro 'CACHE_OP_UNSUPPORTED'
      41 | #define CACHE_OP_UNSUPPORTED            0xFFFF
         |                                         ^~~~~~
   drivers/perf/arm_xscale_pmu.c:76:42: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
      76 |         [C(L1D)][C(OP_WRITE)][C(RESULT_MISS)]   = XSCALE_PERFCTR_DCACHE_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/perf/arm_xscale_pmu.c:71:2: note: previous initialization is here
      71 |         PERF_CACHE_MAP_ALL_UNSUPPORTED,
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:49:31: note: expanded from macro 'PERF_CACHE_MAP_ALL_UNSUPPORTED'
      49 |                 [0 ... C(RESULT_MAX) - 1] = CACHE_OP_UNSUPPORTED,       \
         |                                             ^~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:41:31: note: expanded from macro 'CACHE_OP_UNSUPPORTED'
      41 | #define CACHE_OP_UNSUPPORTED            0xFFFF
         |                                         ^~~~~~
   drivers/perf/arm_xscale_pmu.c:78:41: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
      78 |         [C(L1I)][C(OP_READ)][C(RESULT_MISS)]    = XSCALE_PERFCTR_ICACHE_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/perf/arm_xscale_pmu.c:71:2: note: previous initialization is here
      71 |         PERF_CACHE_MAP_ALL_UNSUPPORTED,
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:49:31: note: expanded from macro 'PERF_CACHE_MAP_ALL_UNSUPPORTED'
      49 |                 [0 ... C(RESULT_MAX) - 1] = CACHE_OP_UNSUPPORTED,       \
         |                                             ^~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:41:31: note: expanded from macro 'CACHE_OP_UNSUPPORTED'
      41 | #define CACHE_OP_UNSUPPORTED            0xFFFF
         |                                         ^~~~~~
   drivers/perf/arm_xscale_pmu.c:80:42: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
      80 |         [C(DTLB)][C(OP_READ)][C(RESULT_MISS)]   = XSCALE_PERFCTR_DTLB_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/perf/arm_xscale_pmu.c:71:2: note: previous initialization is here
      71 |         PERF_CACHE_MAP_ALL_UNSUPPORTED,
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:49:31: note: expanded from macro 'PERF_CACHE_MAP_ALL_UNSUPPORTED'
      49 |                 [0 ... C(RESULT_MAX) - 1] = CACHE_OP_UNSUPPORTED,       \
         |                                             ^~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:41:31: note: expanded from macro 'CACHE_OP_UNSUPPORTED'
      41 | #define CACHE_OP_UNSUPPORTED            0xFFFF
         |                                         ^~~~~~
   drivers/perf/arm_xscale_pmu.c:81:43: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
      81 |         [C(DTLB)][C(OP_WRITE)][C(RESULT_MISS)]  = XSCALE_PERFCTR_DTLB_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/perf/arm_xscale_pmu.c:71:2: note: previous initialization is here
      71 |         PERF_CACHE_MAP_ALL_UNSUPPORTED,
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:49:31: note: expanded from macro 'PERF_CACHE_MAP_ALL_UNSUPPORTED'
      49 |                 [0 ... C(RESULT_MAX) - 1] = CACHE_OP_UNSUPPORTED,       \
         |                                             ^~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:41:31: note: expanded from macro 'CACHE_OP_UNSUPPORTED'
      41 | #define CACHE_OP_UNSUPPORTED            0xFFFF
         |                                         ^~~~~~
   drivers/perf/arm_xscale_pmu.c:83:42: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
      83 |         [C(ITLB)][C(OP_READ)][C(RESULT_MISS)]   = XSCALE_PERFCTR_ITLB_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/perf/arm_xscale_pmu.c:71:2: note: previous initialization is here
      71 |         PERF_CACHE_MAP_ALL_UNSUPPORTED,
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:49:31: note: expanded from macro 'PERF_CACHE_MAP_ALL_UNSUPPORTED'
      49 |                 [0 ... C(RESULT_MAX) - 1] = CACHE_OP_UNSUPPORTED,       \
         |                                             ^~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:41:31: note: expanded from macro 'CACHE_OP_UNSUPPORTED'
      41 | #define CACHE_OP_UNSUPPORTED            0xFFFF
         |                                         ^~~~~~
   drivers/perf/arm_xscale_pmu.c:84:43: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
      84 |         [C(ITLB)][C(OP_WRITE)][C(RESULT_MISS)]  = XSCALE_PERFCTR_ITLB_MISS,
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/perf/arm_xscale_pmu.c:71:2: note: previous initialization is here
      71 |         PERF_CACHE_MAP_ALL_UNSUPPORTED,
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:49:31: note: expanded from macro 'PERF_CACHE_MAP_ALL_UNSUPPORTED'
      49 |                 [0 ... C(RESULT_MAX) - 1] = CACHE_OP_UNSUPPORTED,       \
         |                                             ^~~~~~~~~~~~~~~~~~~~
   include/linux/perf/arm_pmu.h:41:31: note: expanded from macro 'CACHE_OP_UNSUPPORTED'
      41 | #define CACHE_OP_UNSUPPORTED            0xFFFF
         |                                         ^~~~~~
>> drivers/perf/arm_xscale_pmu.c:490:2: error: use of undeclared identifier 'regs'
     490 |         regs = get_irq_regs();
         |         ^
   15 warnings and 1 error generated.


vim +/regs +490 drivers/perf/arm_xscale_pmu.c

43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  470  
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  471  static irqreturn_t
0788f1e97324d8 arch/arm/kernel/perf_event_xscale.c Mark Rutland      2018-05-10  472  xscale2pmu_handle_irq(struct arm_pmu *cpu_pmu)
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  473  {
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  474  	unsigned long pmnc, of_flags;
11679250860700 arch/arm/kernel/perf_event_xscale.c Mark Rutland      2014-05-13  475  	struct pmu_hw_events *cpuc = this_cpu_ptr(cpu_pmu->hw_events);
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  476  	int idx;
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  477  
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  478  	/* Disable the PMU. */
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  479  	pmnc = xscale2pmu_read_pmnc();
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  480  	xscale2pmu_write_pmnc(pmnc & ~XSCALE_PMU_ENABLE);
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  481  
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  482  	/* Check the overflow flag register. */
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  483  	of_flags = xscale2pmu_read_overflow_flags();
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  484  	if (!(of_flags & XSCALE2_OVERFLOWED_MASK))
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  485  		return IRQ_NONE;
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  486  
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  487  	/* Clear the overflow bits. */
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  488  	xscale2pmu_write_overflow_flags(of_flags);
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  489  
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13 @490  	regs = get_irq_regs();
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  491  
bf5ffc8c80e0cf drivers/perf/arm_xscale_pmu.c       Rob Herring (Arm  2024-07-31  492) 	for_each_set_bit(idx, cpu_pmu->cntr_mask, XSCALE2_NUM_COUNTERS) {
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  493  		struct perf_event *event = cpuc->events[idx];
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  494  
f6f5a30c834135 arch/arm/kernel/perf_event_xscale.c Will Deacon       2012-03-06  495  		if (!event)
f6f5a30c834135 arch/arm/kernel/perf_event_xscale.c Will Deacon       2012-03-06  496  			continue;
f6f5a30c834135 arch/arm/kernel/perf_event_xscale.c Will Deacon       2012-03-06  497  
3f31ae121348af arch/arm/kernel/perf_event_xscale.c Will Deacon       2012-03-06  498  		if (!xscale2_pmnc_counter_has_overflowed(of_flags, idx))
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  499  			continue;
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  500  
63eb790cce0102 drivers/perf/arm_xscale_pmu.c       Mark Rutland      2023-12-05  501  		armpmu_event_overflow(event);
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  502  	}
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  503  
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  504  	irq_work_run();
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  505  
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  506  	/*
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  507  	 * Re-enable the PMU.
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  508  	 */
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  509  	pmnc = xscale2pmu_read_pmnc() | XSCALE_PMU_ENABLE;
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  510  	xscale2pmu_write_pmnc(pmnc);
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  511  
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  512  	return IRQ_HANDLED;
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  513  }
43eab87828fee6 arch/arm/kernel/perf_event_xscale.c Will Deacon       2010-11-13  514  

:::::: The code at line 490 was first introduced by commit
:::::: 43eab87828fee65f89f4088736b2b7a187390a2f ARM: perf: separate PMU backends into multiple files

:::::: TO: Will Deacon <will.deacon@arm.com>
:::::: CC: Will Deacon <will.deacon@arm.com>

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

                 reply	other threads:[~2024-09-26  1:52 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202409260959.0FgHD18l-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=mark.rutland@arm.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox