On Thu, 2025-11-13 at 15:51 +0100, Christian König wrote:
> The driver and timeline name are meaningless for signaled fences.
>
> Drop them and also print the context number.
>
> v2: avoid the calls when the BO is already signaled.
> v3: use same format as trace points for context and seqno.
>
> Signed-off-by: Christian König <[email protected]>
> ---
I still think that more fleshed out commit messages are great :)
> drivers/dma-buf/dma-fence.c | 20 +++++++++++---------
> 1 file changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
> index c5d1478b28dd..b4f5c8635276 100644
> --- a/drivers/dma-buf/dma-fence.c
> +++ b/drivers/dma-buf/dma-fence.c
> @@ -997,19 +997,21 @@ EXPORT_SYMBOL(dma_fence_set_deadline);
> */
> void dma_fence_describe(struct dma_fence *fence, struct seq_file *seq)
> {
> - const char __rcu *timeline;
> - const char __rcu *driver;
> + const char __rcu *timeline = "";
> + const char __rcu *driver = "";
> + const char *signaled = "";
>
> rcu_read_lock();
>
> - timeline = dma_fence_timeline_name(fence);
> - driver = dma_fence_driver_name(fence);
> + if (!dma_fence_is_signaled(fence)) {
> + timeline = dma_fence_timeline_name(fence);
> + driver = dma_fence_driver_name(fence);
> + signaled = "un";
> + }
>
> - seq_printf(seq, "%s %s seq %llu %ssignalled\n",
> - rcu_dereference(driver),
> - rcu_dereference(timeline),
Why does usage of rcu_dereference become unnecessary?
> - fence->seqno,
> - dma_fence_is_signaled(fence) ? "" : "un");
> + seq_printf(seq, "%llu:%llu %s %s %ssignalled\n",
> + fence->context, fence->seqno, timeline, driver,
> + signaled);
>
> rcu_read_unlock();
> }