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