Looked a bit into it, I want to export sync_object to FD and importĀ from that FD such that I will wait on the imported sync object handle from one thread while signaling the exported sync object handle from another (post device unplug) ?
My problem is how to create a sync object with a non signaled 'fake' fence ? I only see API that creates it with already signaled fence (or none) - https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/drm_syncobj.c...
P.S I expect the kernel to crash since unlike with dma_bufs we don't hold drm device reference here on export.
Andrey
On 2/9/21 4:50 AM, Daniel Vetter wrote:
Yeah in the end we'd need 2 hw devices for testing full fence functionality. A useful intermediate step would be to just export the fence (either as sync_file, which I think amdgpu doesn't support because no android egl support in mesa) or drm_syncobj (which you can do as standalone fd too iirc), and then just using the fence a bit from userspace (like wait on it or get its status) after the device is unplugged.