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

Configure Feed

Select the types of activity you want to include in your feed.

dma-buf: use inline lock for the dma-fence-array

Using the inline lock is now the recommended way for dma_fence
implementations.

So use this approach for the framework's internal fences as well.

Also saves about 4 bytes for the external spinlock.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Reviewed-by: Philipp Stanner <phasta@kernel.org>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Link: https://lore.kernel.org/r/20260219160822.1529-8-christian.koenig@amd.com

+2 -4
+2 -3
drivers/dma-buf/dma-fence-array.c
··· 204 204 205 205 array->num_fences = num_fences; 206 206 207 - spin_lock_init(&array->lock); 208 - dma_fence_init(&array->base, &dma_fence_array_ops, &array->lock, 209 - context, seqno); 207 + dma_fence_init(&array->base, &dma_fence_array_ops, NULL, context, 208 + seqno); 210 209 init_irq_work(&array->work, irq_dma_fence_array_work); 211 210 212 211 atomic_set(&array->num_pending, signal_on_any ? 1 : num_fences);
-1
include/linux/dma-fence-array.h
··· 38 38 struct dma_fence_array { 39 39 struct dma_fence base; 40 40 41 - spinlock_t lock; 42 41 unsigned num_fences; 43 42 atomic_t num_pending; 44 43 struct dma_fence **fences;