[PATCH 0/9] drm/syncobj: Add full-featured wait support (v2)

Christian König christian.koenig at amd.com
Tue Aug 22 08:30:53 UTC 2017


Am 21.08.2017 um 23:42 schrieb Jason Ekstrand:
>
>
> On Wed, Aug 16, 2017 at 1:10 PM, Jason Ekstrand <jason at jlekstrand.net 
> <mailto:jason at jlekstrand.net>> wrote:
>
>     On Wed, Aug 16, 2017 at 9:53 AM, Christian König
>     <christian.koenig at amd.com <mailto:christian.koenig at amd.com>> wrote:
>
>>         [SNIP]
>>
>>                 See a wait_queue is a callback mechanism anyway, so
>>                 you are wrapping a callback mechanism inside another
>>                 callback mechanism and that makes not really much sense.
>>
>>
>>             Fair enough.  There is one little snag though:  We need
>>             to wait on sync objects and fences at the same time in
>>             order for WAIT_ANY | WAIT_FOR_SUBMIT to work.  I see two
>>             options here:
>>
>>              1) Convert dma-fence to use waitqueue instead of its
>>             callback mechanism and add a wait_queue_any.  A quick
>>             grep for dma_fence_add_callback says that this would
>>             affect four drivers.
>>
>>
>>         The more I think about it, the less sense using waitqueues
>>         makes.  The fundamental problem here is that the event we are
>>         waiting on is actually the concatenation of two events:
>>         submit and signal.  Since we are waiting on several of these
>>         pairs of concatenated events simultaneously, the only two
>>         options we have are to either combine them into one event
>>         (the proxy approach) or to implement a wait which is capable
>>         of handling both at the same time.  I don't see a way to do
>>         the latter with wait queues.
>
>         Agree completely.
>
>         Essentially we would need to enable wait_event_* to wait for
>         multiple events and then convert all the fence callback stuff
>         to wait_event structures.
>
>         But that is certainly outside the scope of this patchset, so
>         feel free to go ahead with the approach of waiting manually
>         (but please without the bugs).
>
>
>     Well, the patches I sent last night should do just that.  It's
>     mostly the original approach but with the bugfixes from versions 3
>     and 4. Modulo finding additional bugs, I think they should be good
>     to go.
>
> ping?
I just way to much to do at the moment (as usually). Feel free to add an 
Acked-by: Christian König <christian.koenig at amd.com> to the patches in 
the meantime, but an detailed review would have to wait a bit.

Sorry for the delay,
Christian.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170822/600f79bc/attachment-0001.html>


More information about the dri-devel mailing list