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.
Why is it considered deprecated? trace_dma_fence_{emit,signaled} are useful to visualize fence timelines. I am actually less sure about how trace_dma_fence_{init,destroy} are used.
Is it because trace_dma_fence_init is called automatically, and is good enough most of the time?
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.
virtio also has a case where init and emit can be far apart, when the host cannot process commands fast enough and there is no space in virtqueue.
So I'm not sure if it's a good idea to add that here.
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;