>> + /* For framebuffer backed by dmabuf, wait for fence */ >> + mutex_lock(&dev->object_name_lock);
>The lock here is unfortunate. I thought once a dmabuf as attached to an >object, it persists until the object is destroyed, so afaict the lock here is >unnecessary (as it only protects against a userspace race in attaching a >dmabuf). You're probably right. I'll send out a v3 patch set with the lock removed if there are no other comments. >> + if (pending_flip_obj->base.dma_buf) { >> + reservation_object_wait_timeout_rcu( >Side-question, are these fences exclusive or do we track read/write? They are exclusive, with the sink X driver using vblank events to explicitly request the source X driver to write. If you guys want to track read/write I could switch over to shared fences, but for my use case only exclusive fences are necessary. Thanks, Alex