Introduce fence iterators to abstract dma_resv RCU handling

Christian König ckoenig.leichtzumerken at gmail.com
Thu Jun 17 11:15:42 UTC 2021


Hi guys,

during the recent discussion about SLAB_TYPESAFE_BY_RCU, dma_fence_get_rcu and dma_fence_get_rcu_safe we found that the RCU handling for dma_resv objects was implemented multiple times.

Unfortunately a lot of those implementations get the rather complicated dance with RCU and the sequence number handling wrong.

So this patch set aims to audit and unify this by providing an iterator which automatically restarts when a modification to the dma_resv object is detected.

The result is pretty impressive I think since this not only mean that we got rid of all those incorrect dma_fence_get_rcu() cases, but also reduce the overall loc count quite a bit.

Please review and/or comment.

Cheers,
Christian.




More information about the dri-devel mailing list