Re: [PATCH V2 3/7] arm64/perf: Update struct pmu_hw_events for BRBE

Anshuman Khandual
2022-09-09T03:14:35Z

On 9/8/22 18:02, kernel test robot wrote:
> Hi Anshuman,
>
> Thank you for the patch! Perhaps something to improve:
>
> [auto build test WARNING on acme/perf/core]
> [also build test WARNING on tip/perf/core arm64/for-next/core linus/master v6.0-rc4 next-20220908]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Anshuman-Khandual/arm64-perf-Enable-branch-stack-sampling/20220908-131425
> base: https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git perf/core
> config: arm-defconfig
> compiler: arm-linux-gnueabi-gcc (GCC) 12.1.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://github.com/intel-lab-lkp/linux/commit/d3c4ba711027d312a2f4e16cdbdbec5fcbf2913b
> git remote add linux-review https://github.com/intel-lab-lkp/linux
> git fetch --no-tags linux-review Anshuman-Khandual/arm64-perf-Enable-branch-stack-sampling/20220908-131425
> git checkout d3c4ba711027d312a2f4e16cdbdbec5fcbf2913b
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/perf/
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@intel.com>
>
> All warnings (new ones prefixed by >>):
>
> drivers/perf/arm_pmu.c: In function 'validate_group':
>>> drivers/perf/arm_pmu.c:415:1: warning: the frame size of 1744 bytes is larger than 1024 bytes [-Wframe-larger-than=]
> 415 | }
> | ^

Guess this might just be complaining because of the local variable 'fake_pmu'
as 'struct pmu_hw_events' now has been expanded to accommodate BRBE related
elements. But these are essential elements for BRBE branch record processing.

static int
validate_group(struct perf_event *event)
{
struct perf_event *sibling, *leader = event->group_leader;
struct pmu_hw_events fake_pmu;
....