• Home
  • Raw
  • Download

Lines Matching refs:task_ctx

340 static void __intel_pmu_lbr_restore(struct x86_perf_task_context *task_ctx)  in __intel_pmu_lbr_restore()  argument
347 if (task_ctx->lbr_callstack_users == 0 || in __intel_pmu_lbr_restore()
348 task_ctx->lbr_stack_state == LBR_NONE) { in __intel_pmu_lbr_restore()
353 tos = task_ctx->tos; in __intel_pmu_lbr_restore()
359 if ((task_ctx == cpuc->last_task_ctx) && in __intel_pmu_lbr_restore()
360 (task_ctx->log_id == cpuc->last_log_id) && in __intel_pmu_lbr_restore()
362 task_ctx->lbr_stack_state = LBR_NONE; in __intel_pmu_lbr_restore()
367 for (i = 0; i < task_ctx->valid_lbrs; i++) { in __intel_pmu_lbr_restore()
369 wrlbr_from(lbr_idx, task_ctx->lbr_from[i]); in __intel_pmu_lbr_restore()
370 wrlbr_to (lbr_idx, task_ctx->lbr_to[i]); in __intel_pmu_lbr_restore()
373 wrmsrl(MSR_LBR_INFO_0 + lbr_idx, task_ctx->lbr_info[i]); in __intel_pmu_lbr_restore()
385 task_ctx->lbr_stack_state = LBR_NONE; in __intel_pmu_lbr_restore()
388 static void __intel_pmu_lbr_save(struct x86_perf_task_context *task_ctx) in __intel_pmu_lbr_save() argument
395 if (task_ctx->lbr_callstack_users == 0) { in __intel_pmu_lbr_save()
396 task_ctx->lbr_stack_state = LBR_NONE; in __intel_pmu_lbr_save()
407 task_ctx->lbr_from[i] = from; in __intel_pmu_lbr_save()
408 task_ctx->lbr_to[i] = rdlbr_to(lbr_idx); in __intel_pmu_lbr_save()
410 rdmsrl(MSR_LBR_INFO_0 + lbr_idx, task_ctx->lbr_info[i]); in __intel_pmu_lbr_save()
412 task_ctx->valid_lbrs = i; in __intel_pmu_lbr_save()
413 task_ctx->tos = tos; in __intel_pmu_lbr_save()
414 task_ctx->lbr_stack_state = LBR_VALID; in __intel_pmu_lbr_save()
416 cpuc->last_task_ctx = task_ctx; in __intel_pmu_lbr_save()
417 cpuc->last_log_id = ++task_ctx->log_id; in __intel_pmu_lbr_save()
423 struct x86_perf_task_context *task_ctx; in intel_pmu_lbr_sched_task() local
433 task_ctx = ctx ? ctx->task_ctx_data : NULL; in intel_pmu_lbr_sched_task()
434 if (task_ctx) { in intel_pmu_lbr_sched_task()
436 __intel_pmu_lbr_restore(task_ctx); in intel_pmu_lbr_sched_task()
438 __intel_pmu_lbr_save(task_ctx); in intel_pmu_lbr_sched_task()
460 struct x86_perf_task_context *task_ctx; in intel_pmu_lbr_add() local
468 task_ctx = event->ctx->task_ctx_data; in intel_pmu_lbr_add()
469 task_ctx->lbr_callstack_users++; in intel_pmu_lbr_add()
501 struct x86_perf_task_context *task_ctx; in intel_pmu_lbr_del() local
508 task_ctx = event->ctx->task_ctx_data; in intel_pmu_lbr_del()
509 task_ctx->lbr_callstack_users--; in intel_pmu_lbr_del()