> > As far as I can see the only functionality we are missing here is: > > void sync_file_signal(struct sync_file *sync_file, struct dma_fence *fence) > { > dma_fence_put(sync_file->fence); > sync_file->fence = fence; > } > > We probably should do this atomically, but that is only a matter of taking > locks/atomic pointer operation. > > The waiting is done using the normal sync_file_get_fence() function. > > The rest is David's patch to import/export the fd handle into a local idr > based handle. Are you suggesting we start keeping track of sync_file objects in a local idr? As currently they are only tracked as files, which is probably not what we want for every unshared semaphore, or are you thinking more that the amdgpu local sem should be just storing a sync_file pointer, rather than what it does now. Dave. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel