Hi Ravi, [FYI, it's a private test report for your RFC patch.] [auto build test WARNING on tip/perf/core] [also build test WARNING on powerpc/next tip/sched/core v5.16 next-20220114] [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] url: https://github.com/0day-ci/linux/commits/Ravi-Bangoria/perf-Rewrite-core-context-handling/20220113-215022 base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git a9f4a6e92b3b319296fb078da2615f618f6cd80c config: arm-randconfig-c002-20220113 (https://download.01.org/0day-ci/archive/20220115/202201150516.CCZxTJTq-lkp@intel.com/config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d1021978b8e7e35dcc30201ca1731d64b5a602a8) 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 # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://github.com/0day-ci/linux/commit/f7cf7134e405062bf0f22c3ba5637241c4c4d06a git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Ravi-Bangoria/perf-Rewrite-core-context-handling/20220113-215022 git checkout f7cf7134e405062bf0f22c3ba5637241c4c4d06a # save the config file to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot clang-analyzer warnings: (new ones prefixed by >>) >> kernel/events/core.c:4277:2: warning: Value stored to 'task_ctx' is never read [clang-analyzer-deadcode.DeadStores] task_ctx = cpuctx->task_ctx; ^ ~~~~~~~~~~~~~~~~ vim +/task_ctx +4277 kernel/events/core.c 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4257 f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4258 static bool perf_rotate_context(struct perf_cpu_pmu_context *cpc) 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4259 { f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4260 struct perf_cpu_context *cpuctx = this_cpu_ptr(&cpu_context); f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4261 struct perf_event_pmu_context *cpu_epc, *task_epc = NULL; 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4262 struct perf_event *cpu_event = NULL, *task_event = NULL; fd7d55172d1e2e kernel/events/core.c Ian Rogers 2019-06-01 4263 struct perf_event_context *task_ctx = NULL; fd7d55172d1e2e kernel/events/core.c Ian Rogers 2019-06-01 4264 int cpu_rotate, task_rotate; f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4265 struct pmu *pmu; 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4266 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4267 /* 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4268 * Since we run this from IRQ context, nobody can install new 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4269 * events, thus the event count values are stable. 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4270 */ 7fc23a53807970 kernel/perf_counter.c Peter Zijlstra 2009-05-08 4271 f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4272 cpu_epc = &cpc->epc; f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4273 pmu = cpu_epc->pmu; f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4274 task_epc = cpc->task_epc; f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4275 f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4276 cpu_rotate = cpu_epc->rotate_necessary; fd7d55172d1e2e kernel/events/core.c Ian Rogers 2019-06-01 @4277 task_ctx = cpuctx->task_ctx; f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4278 task_rotate = task_epc ? task_epc->rotate_necessary : 0; 9717e6cd3db22e kernel/perf_event.c Peter Zijlstra 2010-01-28 4279 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4280 if (!(cpu_rotate || task_rotate)) 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4281 return false; 0f5a2601284237 kernel/events/core.c Peter Zijlstra 2011-11-16 4282 facc43071cc0d4 kernel/events/core.c Peter Zijlstra 2011-04-09 4283 perf_ctx_lock(cpuctx, cpuctx->task_ctx); f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4284 perf_pmu_disable(pmu); 0f5a2601284237 kernel/events/core.c Peter Zijlstra 2011-11-16 4285 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4286 if (task_rotate) f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4287 task_event = ctx_event_to_rotate(task_epc); 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4288 if (cpu_rotate) f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4289 cpu_event = ctx_event_to_rotate(cpu_epc); 8703a7cfe148f7 kernel/events/core.c Peter Zijlstra 2017-11-13 4290 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4291 /* 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4292 * As per the order given at ctx_resched() first 'pop' task flexible 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4293 * and then, if needed CPU flexible. 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4294 */ f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4295 if (task_event || (task_epc && cpu_event)) { f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4296 update_context_time(task_epc->ctx); f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4297 __pmu_ctx_sched_out(task_epc, EVENT_FLEXIBLE); f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4298 } 235c7fc7c500e4 kernel/perf_counter.c Ingo Molnar 2008-12-21 4299 f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4300 if (cpu_event) { f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4301 update_context_time(&cpuctx->ctx); f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4302 __pmu_ctx_sched_out(cpu_epc, EVENT_FLEXIBLE); 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4303 rotate_ctx(&cpuctx->ctx, cpu_event); f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4304 __pmu_ctx_sched_in(&cpuctx->ctx, pmu); f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4305 } 0793a61d4df8da kernel/perf_counter.c Thomas Gleixner 2008-12-04 4306 f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4307 if (task_event) f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4308 rotate_ctx(task_epc->ctx, task_event); 0f5a2601284237 kernel/events/core.c Peter Zijlstra 2011-11-16 4309 f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4310 if (task_event || (task_epc && cpu_event)) f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4311 __pmu_ctx_sched_in(task_epc->ctx, pmu); f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4312 f7cf7134e40506 kernel/events/core.c Peter Zijlstra 2022-01-13 4313 perf_pmu_enable(pmu); 0f5a2601284237 kernel/events/core.c Peter Zijlstra 2011-11-16 4314 perf_ctx_unlock(cpuctx, cpuctx->task_ctx); 9e6302056f8029 kernel/events/core.c Stephane Eranian 2013-04-03 4315 8d5bce0c37fa10 kernel/events/core.c Peter Zijlstra 2018-03-09 4316 return true; e9d2b064149ff7 kernel/perf_event.c Peter Zijlstra 2010-09-17 4317 } e9d2b064149ff7 kernel/perf_event.c Peter Zijlstra 2010-09-17 4318 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org