diff mbox series

drm/msm: add trace_dma_fence_emit to msm_gpu_submit

Message ID 20220408211230.601475-1-olvaffe@gmail.com
State Superseded
Headers show
Series drm/msm: add trace_dma_fence_emit to msm_gpu_submit | expand

Commit Message

Chia-I Wu April 8, 2022, 9:12 p.m. UTC
In practice, trace_dma_fence_init is good enough and almost no driver
calls trace_dma_fence_emit.  But this is still more correct in theory.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Cc: Rob Clark <robdclark@chromium.org>
---
 drivers/gpu/drm/msm/msm_gpu.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Christian König April 26, 2022, 4:43 p.m. UTC | #1
Sorry for the delayed reply.

Am 12.04.22 um 21:41 schrieb Rob Clark:
> On Sat, Apr 9, 2022 at 7:33 AM Christian König <christian.koenig@amd.com> wrote:
>> Am 08.04.22 um 23:12 schrieb Chia-I Wu:
>>> In practice, trace_dma_fence_init is good enough and almost no driver
>>> calls trace_dma_fence_emit.  But this is still more correct in theory.
>> Well, the reason why basically no driver is calling this is because it
>> is pretty much deprecated.
>>
>> We do have a case in the GPU scheduler where it makes sense to distinct
>> between init and emit, but it doesn't really matter for drivers.
>>
>> So I'm not sure if it's a good idea to add that here.
> visualization can't easily differentiate between drivers/timelines
> where the split matters and ones where it doesn't..  IMO it is better
> to just have the extra trace even in the cases where it comes at the
> same time as the init trace

That's exactly the reason why I want to remove the extra trace.

To make it clear this is only useful for debugging and *NOT* for 
actually visualizing things.

So by adding that here you add more confusion than solving anything.

Regards,
Christian.

>
> BR,
> -R
>
>> Regards,
>> Christian.
>>
>>> Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
>>> Cc: Rob Clark <robdclark@chromium.org>
>>> ---
>>>    drivers/gpu/drm/msm/msm_gpu.c | 2 ++
>>>    1 file changed, 2 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c
>>> index faf0c242874e..a82193f41ea2 100644
>>> --- a/drivers/gpu/drm/msm/msm_gpu.c
>>> +++ b/drivers/gpu/drm/msm/msm_gpu.c
>>> @@ -15,6 +15,7 @@
>>>    #include <linux/string_helpers.h>
>>>    #include <linux/devcoredump.h>
>>>    #include <linux/sched/task.h>
>>> +#include <trace/events/dma_fence.h>
>>>
>>>    /*
>>>     * Power Management:
>>> @@ -769,6 +770,7 @@ void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit)
>>>        gpu->active_submits++;
>>>        mutex_unlock(&gpu->active_lock);
>>>
>>> +     trace_dma_fence_emit(submit->hw_fence);
>>>        gpu->funcs->submit(gpu, submit);
>>>        gpu->cur_ctx_seqno = submit->queue->ctx->seqno;
>>>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c
index faf0c242874e..a82193f41ea2 100644
--- a/drivers/gpu/drm/msm/msm_gpu.c
+++ b/drivers/gpu/drm/msm/msm_gpu.c
@@ -15,6 +15,7 @@ 
 #include <linux/string_helpers.h>
 #include <linux/devcoredump.h>
 #include <linux/sched/task.h>
+#include <trace/events/dma_fence.h>
 
 /*
  * Power Management:
@@ -769,6 +770,7 @@  void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit)
 	gpu->active_submits++;
 	mutex_unlock(&gpu->active_lock);
 
+	trace_dma_fence_emit(submit->hw_fence);
 	gpu->funcs->submit(gpu, submit);
 	gpu->cur_ctx_seqno = submit->queue->ctx->seqno;