Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dma-buf: cleanup dma_fence_describe v3

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 <christian.koenig@amd.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Link: https://lore.kernel.org/r/20251113145332.16805-2-christian.koenig@amd.com

+11 -9
+11 -9
drivers/dma-buf/dma-fence.c
··· 997 997 */ 998 998 void dma_fence_describe(struct dma_fence *fence, struct seq_file *seq) 999 999 { 1000 - const char __rcu *timeline; 1001 - const char __rcu *driver; 1000 + const char __rcu *timeline = ""; 1001 + const char __rcu *driver = ""; 1002 + const char *signaled = ""; 1002 1003 1003 1004 rcu_read_lock(); 1004 1005 1005 - timeline = dma_fence_timeline_name(fence); 1006 - driver = dma_fence_driver_name(fence); 1006 + if (!dma_fence_is_signaled(fence)) { 1007 + timeline = dma_fence_timeline_name(fence); 1008 + driver = dma_fence_driver_name(fence); 1009 + signaled = "un"; 1010 + } 1007 1011 1008 - seq_printf(seq, "%s %s seq %llu %ssignalled\n", 1009 - rcu_dereference(driver), 1010 - rcu_dereference(timeline), 1011 - fence->seqno, 1012 - dma_fence_is_signaled(fence) ? "" : "un"); 1012 + seq_printf(seq, "%llu:%llu %s %s %ssignalled\n", 1013 + fence->context, fence->seqno, timeline, driver, 1014 + signaled); 1013 1015 1014 1016 rcu_read_unlock(); 1015 1017 }