There was never any significant difference between trace_dma_fence_emit() and trace_dma_fence_init() and the only place where it would made a significant difference was never implemented.
So remove trace_dma_fence_emit() since we have an repeating issue that people are trying to use it for visualization and are surprised that it actually doesn't work for most drivers.
Signed-off-by: Christian König christian.koenig@amd.com --- drivers/dma-buf/dma-fence.c | 1 - drivers/gpu/drm/nouveau/nouveau_fence.c | 1 - drivers/gpu/drm/qxl/qxl_release.c | 1 - drivers/gpu/drm/virtio/virtgpu_fence.c | 2 -- include/trace/events/dma_fence.h | 7 ------- 5 files changed, 12 deletions(-)
diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c index 066400ed8841..d0d704f3edae 100644 --- a/drivers/dma-buf/dma-fence.c +++ b/drivers/dma-buf/dma-fence.c @@ -20,7 +20,6 @@ #define CREATE_TRACE_POINTS #include <trace/events/dma_fence.h>
-EXPORT_TRACEPOINT_SYMBOL(dma_fence_emit); EXPORT_TRACEPOINT_SYMBOL(dma_fence_enable_signal); EXPORT_TRACEPOINT_SYMBOL(dma_fence_signaled);
diff --git a/drivers/gpu/drm/nouveau/nouveau_fence.c b/drivers/gpu/drm/nouveau/nouveau_fence.c index 7f01dcf81fab..abcac7db4347 100644 --- a/drivers/gpu/drm/nouveau/nouveau_fence.c +++ b/drivers/gpu/drm/nouveau/nouveau_fence.c @@ -224,7 +224,6 @@ nouveau_fence_emit(struct nouveau_fence *fence, struct nouveau_channel *chan) &fctx->lock, fctx->context, ++fctx->sequence); kref_get(&fctx->fence_ref);
- trace_dma_fence_emit(&fence->base); ret = fctx->emit(fence); if (!ret) { dma_fence_get(&fence->base); diff --git a/drivers/gpu/drm/qxl/qxl_release.c b/drivers/gpu/drm/qxl/qxl_release.c index 368d26da0d6a..cb9f27771f32 100644 --- a/drivers/gpu/drm/qxl/qxl_release.c +++ b/drivers/gpu/drm/qxl/qxl_release.c @@ -424,7 +424,6 @@ void qxl_release_fence_buffer_objects(struct qxl_release *release) */ dma_fence_init(&release->base, &qxl_fence_ops, &qdev->release_lock, release->id | 0xf0000000, release->base.seqno); - trace_dma_fence_emit(&release->base);
list_for_each_entry(entry, &release->bos, head) { bo = entry->bo; diff --git a/drivers/gpu/drm/virtio/virtgpu_fence.c b/drivers/gpu/drm/virtio/virtgpu_fence.c index f28357dbde35..e8b6dec37977 100644 --- a/drivers/gpu/drm/virtio/virtgpu_fence.c +++ b/drivers/gpu/drm/virtio/virtgpu_fence.c @@ -111,8 +111,6 @@ void virtio_gpu_fence_emit(struct virtio_gpu_device *vgdev, list_add_tail(&fence->node, &drv->fences); spin_unlock_irqrestore(&drv->lock, irq_flags);
- trace_dma_fence_emit(&fence->f); - cmd_hdr->flags |= cpu_to_le32(VIRTIO_GPU_FLAG_FENCE); cmd_hdr->fence_id = cpu_to_le64(fence->fence_id);
diff --git a/include/trace/events/dma_fence.h b/include/trace/events/dma_fence.h index 3963e79ca7b4..eb744a6aca49 100644 --- a/include/trace/events/dma_fence.h +++ b/include/trace/events/dma_fence.h @@ -34,13 +34,6 @@ DECLARE_EVENT_CLASS(dma_fence, __entry->seqno) );
-DEFINE_EVENT(dma_fence, dma_fence_emit, - - TP_PROTO(struct dma_fence *fence), - - TP_ARGS(fence) -); - DEFINE_EVENT(dma_fence, dma_fence_init,
TP_PROTO(struct dma_fence *fence),
Add a few more people on CC.
Am 26.04.22 um 19:00 schrieb Christian König:
There was never any significant difference between trace_dma_fence_emit() and trace_dma_fence_init() and the only place where it would made a significant difference was never implemented.
So remove trace_dma_fence_emit() since we have an repeating issue that people are trying to use it for visualization and are surprised that it actually doesn't work for most drivers.
Signed-off-by: Christian König christian.koenig@amd.com
drivers/dma-buf/dma-fence.c | 1 - drivers/gpu/drm/nouveau/nouveau_fence.c | 1 - drivers/gpu/drm/qxl/qxl_release.c | 1 - drivers/gpu/drm/virtio/virtgpu_fence.c | 2 -- include/trace/events/dma_fence.h | 7 ------- 5 files changed, 12 deletions(-)
diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c index 066400ed8841..d0d704f3edae 100644 --- a/drivers/dma-buf/dma-fence.c +++ b/drivers/dma-buf/dma-fence.c @@ -20,7 +20,6 @@ #define CREATE_TRACE_POINTS #include <trace/events/dma_fence.h> -EXPORT_TRACEPOINT_SYMBOL(dma_fence_emit); EXPORT_TRACEPOINT_SYMBOL(dma_fence_enable_signal); EXPORT_TRACEPOINT_SYMBOL(dma_fence_signaled); diff --git a/drivers/gpu/drm/nouveau/nouveau_fence.c b/drivers/gpu/drm/nouveau/nouveau_fence.c index 7f01dcf81fab..abcac7db4347 100644 --- a/drivers/gpu/drm/nouveau/nouveau_fence.c +++ b/drivers/gpu/drm/nouveau/nouveau_fence.c @@ -224,7 +224,6 @@ nouveau_fence_emit(struct nouveau_fence *fence, struct nouveau_channel *chan) &fctx->lock, fctx->context, ++fctx->sequence); kref_get(&fctx->fence_ref);
- trace_dma_fence_emit(&fence->base); ret = fctx->emit(fence); if (!ret) { dma_fence_get(&fence->base);
diff --git a/drivers/gpu/drm/qxl/qxl_release.c b/drivers/gpu/drm/qxl/qxl_release.c index 368d26da0d6a..cb9f27771f32 100644 --- a/drivers/gpu/drm/qxl/qxl_release.c +++ b/drivers/gpu/drm/qxl/qxl_release.c @@ -424,7 +424,6 @@ void qxl_release_fence_buffer_objects(struct qxl_release *release) */ dma_fence_init(&release->base, &qxl_fence_ops, &qdev->release_lock, release->id | 0xf0000000, release->base.seqno);
- trace_dma_fence_emit(&release->base);
list_for_each_entry(entry, &release->bos, head) { bo = entry->bo; diff --git a/drivers/gpu/drm/virtio/virtgpu_fence.c b/drivers/gpu/drm/virtio/virtgpu_fence.c index f28357dbde35..e8b6dec37977 100644 --- a/drivers/gpu/drm/virtio/virtgpu_fence.c +++ b/drivers/gpu/drm/virtio/virtgpu_fence.c @@ -111,8 +111,6 @@ void virtio_gpu_fence_emit(struct virtio_gpu_device *vgdev, list_add_tail(&fence->node, &drv->fences); spin_unlock_irqrestore(&drv->lock, irq_flags);
- trace_dma_fence_emit(&fence->f);
- cmd_hdr->flags |= cpu_to_le32(VIRTIO_GPU_FLAG_FENCE); cmd_hdr->fence_id = cpu_to_le64(fence->fence_id);
diff --git a/include/trace/events/dma_fence.h b/include/trace/events/dma_fence.h index 3963e79ca7b4..eb744a6aca49 100644 --- a/include/trace/events/dma_fence.h +++ b/include/trace/events/dma_fence.h @@ -34,13 +34,6 @@ DECLARE_EVENT_CLASS(dma_fence, __entry->seqno) ); -DEFINE_EVENT(dma_fence, dma_fence_emit,
- TP_PROTO(struct dma_fence *fence),
- TP_ARGS(fence)
-);
- DEFINE_EVENT(dma_fence, dma_fence_init,
TP_PROTO(struct dma_fence *fence),
linaro-mm-sig@lists.linaro.org