Replace trace_foo() with the new trace_invoke_foo() at sites already guarded by trace_foo_enabled(), avoiding a redundant static_branch_unlikely() re-evaluation inside the tracepoint. trace_invoke_foo() calls the tracepoint callbacks directly without utilizing the static branch again.
Suggested-by: Steven Rostedt <[email protected]> Suggested-by: Peter Zijlstra <[email protected]> Signed-off-by: Vineeth Pillai (Google) <[email protected]> Assisted-by: Claude:claude-sonnet-4-6 --- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++-- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +- drivers/gpu/drm/scheduler/sched_entity.c | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index 24e4b4fc91564..cdcb33edb2bb6 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c @@ -1012,7 +1012,7 @@ static void trace_amdgpu_cs_ibs(struct amdgpu_cs_parser *p) struct amdgpu_job *job = p->jobs[i]; for (j = 0; j < job->num_ibs; ++j) - trace_amdgpu_cs(p, job, &job->ibs[j]); + trace_invoke_amdgpu_cs(p, job, &job->ibs[j]); } } diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index f2beb980e3c3a..2d34608fd7298 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -1394,7 +1394,7 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev, struct amdgpu_bo_va *bo_va, if (trace_amdgpu_vm_bo_mapping_enabled()) { list_for_each_entry(mapping, &bo_va->valids, list) - trace_amdgpu_vm_bo_mapping(mapping); + trace_invoke_amdgpu_vm_bo_mapping(mapping); } error_free: @@ -2167,7 +2167,7 @@ void amdgpu_vm_bo_trace_cs(struct amdgpu_vm *vm, struct ww_acquire_ctx *ticket) continue; } - trace_amdgpu_vm_bo_cs(mapping); + trace_invoke_amdgpu_vm_bo_cs(mapping); } } diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index b3d6f2cd8ab6f..844b8fc5359a3 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -5190,7 +5190,7 @@ static void amdgpu_dm_backlight_set_level(struct amdgpu_display_manager *dm, } if (trace_amdgpu_dm_brightness_enabled()) { - trace_amdgpu_dm_brightness(__builtin_return_address(0), + trace_invoke_amdgpu_dm_brightness(__builtin_return_address(0), user_brightness, brightness, caps->aux_support, diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm/scheduler/sched_entity.c index fe174a4857be7..003c015b3bfcf 100644 --- a/drivers/gpu/drm/scheduler/sched_entity.c +++ b/drivers/gpu/drm/scheduler/sched_entity.c @@ -429,7 +429,7 @@ static bool drm_sched_entity_add_dependency_cb(struct drm_sched_entity *entity, if (trace_drm_sched_job_unschedulable_enabled() && !test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &entity->dependency->flags)) - trace_drm_sched_job_unschedulable(sched_job, entity->dependency); + trace_invoke_drm_sched_job_unschedulable(sched_job, entity->dependency); if (!dma_fence_add_callback(entity->dependency, &entity->cb, drm_sched_entity_wakeup)) @@ -586,7 +586,7 @@ void drm_sched_entity_push_job(struct drm_sched_job *sched_job) unsigned long index; xa_for_each(&sched_job->dependencies, index, entry) - trace_drm_sched_job_add_dep(sched_job, entry); + trace_invoke_drm_sched_job_add_dep(sched_job, entry); } atomic_inc(entity->rq->sched->score); WRITE_ONCE(entity->last_user, current->group_leader); -- 2.53.0
