All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/2] Attempt to avoid dma-fence-[chain|array] lockdep splats
@ 2021-11-30 12:19 ` Thomas Hellström
  0 siblings, 0 replies; 65+ messages in thread
From: Thomas Hellström @ 2021-11-30 12:19 UTC (permalink / raw)
  To: intel-gfx, dri-devel
  Cc: linaro-mm-sig, Thomas Hellström, matthew.auld, Christian König

Introducing more usage of dma-fence-chain and dma-fence-array in the
i915 driver we start to hit lockdep splats due to the recursive fence
locking in the dma-fence-chain and dma-fence-array containers.
This is a humble suggestion to try to establish a dma-fence locking order
(patch 1) and to avoid excessive recursive locking in these containers
(patch 2)

Thomas Hellström (2):
  dma-fence: Avoid establishing a locking order between fence classes
  dma-fence: Avoid excessive recursive fence locking from
    enable_signaling() callbacks

 drivers/dma-buf/dma-fence-array.c | 23 +++++++--
 drivers/dma-buf/dma-fence-chain.c | 12 ++++-
 drivers/dma-buf/dma-fence.c       | 79 +++++++++++++++++++++----------
 include/linux/dma-fence.h         |  4 ++
 4 files changed, 89 insertions(+), 29 deletions(-)

Cc: linaro-mm-sig@lists.linaro.org
Cc: dri-devel@lists.freedesktop.org
Cc: Christian König <christian.koenig@amd.com>

-- 
2.31.1


^ permalink raw reply	[flat|nested] 65+ messages in thread

end of thread, other threads:[~2021-12-20  9:37 UTC | newest]

Thread overview: 65+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-30 12:19 [RFC PATCH 0/2] Attempt to avoid dma-fence-[chain|array] lockdep splats Thomas Hellström
2021-11-30 12:19 ` [Intel-gfx] " Thomas Hellström
2021-11-30 12:19 ` [RFC PATCH 1/2] dma-fence: Avoid establishing a locking order between fence classes Thomas Hellström
2021-11-30 12:19   ` [Intel-gfx] " Thomas Hellström
2021-11-30 12:25   ` Maarten Lankhorst
2021-11-30 12:25     ` [Intel-gfx] " Maarten Lankhorst
2021-11-30 12:31     ` Thomas Hellström
2021-11-30 12:31       ` [Intel-gfx] " Thomas Hellström
2021-11-30 12:42       ` Christian König
2021-11-30 12:42         ` [Intel-gfx] " Christian König
2021-11-30 12:56         ` Thomas Hellström
2021-11-30 12:56           ` [Intel-gfx] " Thomas Hellström
2021-11-30 13:26           ` Christian König
2021-11-30 13:26             ` [Intel-gfx] " Christian König
2021-11-30 14:35             ` Thomas Hellström
2021-11-30 14:35               ` [Intel-gfx] " Thomas Hellström
2021-11-30 15:02               ` Christian König
2021-11-30 15:02                 ` [Intel-gfx] " Christian König
2021-11-30 18:12                 ` Thomas Hellström
2021-11-30 18:12                   ` Thomas Hellström
2021-11-30 19:27                   ` Thomas Hellström
2021-11-30 19:27                     ` [Intel-gfx] " Thomas Hellström
2021-12-01  7:05                     ` Christian König
2021-12-01  7:05                       ` [Intel-gfx] " Christian König
2021-12-01  8:23                       ` [Linaro-mm-sig] " Thomas Hellström (Intel)
2021-12-01  8:23                         ` [Intel-gfx] " Thomas Hellström (Intel)
2021-12-01  8:36                         ` Christian König
2021-12-01  8:36                           ` [Intel-gfx] " Christian König
2021-12-01 10:15                           ` Thomas Hellström (Intel)
2021-12-01 10:15                             ` [Intel-gfx] " Thomas Hellström (Intel)
2021-12-01 10:32                             ` Christian König
2021-12-01 10:32                               ` [Intel-gfx] " Christian König
2021-12-01 11:04                               ` Thomas Hellström (Intel)
2021-12-01 11:04                                 ` [Intel-gfx] " Thomas Hellström (Intel)
2021-12-01 11:25                                 ` Christian König
2021-12-01 11:25                                   ` [Intel-gfx] " Christian König
2021-12-01 12:16                                   ` Thomas Hellström (Intel)
2021-12-01 12:16                                     ` Thomas Hellström (Intel)
2021-12-03 13:08                                     ` Christian König
2021-12-03 13:08                                       ` [Intel-gfx] " Christian König
2021-12-03 14:18                                       ` Thomas Hellström
2021-12-03 14:18                                         ` [Intel-gfx] " Thomas Hellström
2021-12-03 14:26                                         ` Christian König
2021-12-03 14:26                                           ` [Intel-gfx] " Christian König
2021-12-03 14:50                                           ` Thomas Hellström
2021-12-03 14:50                                             ` [Intel-gfx] " Thomas Hellström
2021-12-03 15:00                                             ` Christian König
2021-12-03 15:00                                               ` [Intel-gfx] " Christian König
2021-12-03 15:13                                               ` Thomas Hellström (Intel)
2021-12-03 15:13                                                 ` [Intel-gfx] " Thomas Hellström (Intel)
2021-12-07 18:08                                         ` Daniel Vetter
2021-12-07 18:08                                           ` Daniel Vetter
2021-12-07 20:46                                           ` Thomas Hellström
2021-12-07 20:46                                             ` Thomas Hellström
2021-12-20  9:37                                             ` Daniel Vetter
2021-12-20  9:37                                               ` Daniel Vetter
2021-11-30 12:32   ` Thomas Hellström
2021-11-30 12:32     ` [Intel-gfx] " Thomas Hellström
2021-11-30 12:19 ` [RFC PATCH 2/2] dma-fence: Avoid excessive recursive fence locking from enable_signaling() callbacks Thomas Hellström
2021-11-30 12:19   ` [Intel-gfx] " Thomas Hellström
2021-11-30 12:36 ` [RFC PATCH 0/2] Attempt to avoid dma-fence-[chain|array] lockdep splats Christian König
2021-11-30 12:36   ` [Intel-gfx] " Christian König
2021-11-30 13:05 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for " Patchwork
2021-11-30 13:48 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-11-30 17:47 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.