[PATCH 6/7] drm/radeon: allow asynchronous waiting on foreign fences

Maarten Lankhorst maarten.lankhorst at canonical.com
Thu Sep 4 06:57:37 PDT 2014


Hey,

Op 04-09-14 om 15:34 schreef Christian König:
>> I need to check the docs how to do this correctly,
> The docs don't really cover this case.
>
> For the GPU waiting on an address there is an extra document just for this case which I don't have at hand right now. But IIRC it was recommended to use the local memory of the device waiting on the semaphore. I'm just not sure if that's for pure performance reasons to avoid accessing the bus or if there's a hard and unavoidable hardware reason to do so.
>
> For the GPU signaling case there is a special bit in the semaphore instructions that you need to set if any user outside of the GPU should see the write.
>
> In general it is explicitly supported to use semaphores for inter device synchronization on the bus (that's what the block is made for), but it's not intended to be used for synchronization between the CPU and the device. So I'm not sure if things like cache snooping is implemented and correctly supported.
>
> Well I see the feature more like nice to have and needs a bunch of testing, so I would say either wait with the patch for now or make it optional to use or something like that.
You're right, it's meant as something 'nice to have'. This is why it came after the patch that exports reservation_object to/from dma-buf. :-)

~Maarten



More information about the dri-devel mailing list