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


Reply via email to