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-...
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-lk...)
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/f7cf7134e405062bf0f22c3ba5637241c...
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 <lkp(a)intel.com>
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