Message ID | 20211207123411.167006-6-christian.koenig@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/24] dma-buf: add dma_resv_replace_fences | expand |
On Tue, Dec 07, 2021 at 01:33:52PM +0100, Christian König wrote: > Use dma_resv_wait() instead of extracting the exclusive fence and > waiting on it manually. > > Signed-off-by: Christian König <christian.koenig@amd.com> No rdma lists nor maintainers on cc, so no chances to get the ack you need to merge this through drm-misc-next. > --- > drivers/infiniband/core/umem_dmabuf.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/infiniband/core/umem_dmabuf.c b/drivers/infiniband/core/umem_dmabuf.c > index f0760741f281..d32cd7538835 100644 > --- a/drivers/infiniband/core/umem_dmabuf.c > +++ b/drivers/infiniband/core/umem_dmabuf.c > @@ -16,7 +16,6 @@ int ib_umem_dmabuf_map_pages(struct ib_umem_dmabuf *umem_dmabuf) > { > struct sg_table *sgt; > struct scatterlist *sg; > - struct dma_fence *fence; > unsigned long start, end, cur = 0; > unsigned int nmap = 0; > int i; > @@ -68,11 +67,8 @@ int ib_umem_dmabuf_map_pages(struct ib_umem_dmabuf *umem_dmabuf) > * may be not up-to-date. Wait for the exporter to finish > * the migration. > */ > - fence = dma_resv_excl_fence(umem_dmabuf->attach->dmabuf->resv); > - if (fence) > - return dma_fence_wait(fence, false); > - > - return 0; > + return dma_resv_wait_timeout(umem_dmabuf->attach->dmabuf->resv, false, > + false, MAX_SCHEDULE_TIMEOUT); I think a wrapper for dma_resv_wait() without timeout would be neat, which we lack. Either way: Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > } > EXPORT_SYMBOL(ib_umem_dmabuf_map_pages); > > -- > 2.25.1 >
diff --git a/drivers/infiniband/core/umem_dmabuf.c b/drivers/infiniband/core/umem_dmabuf.c index f0760741f281..d32cd7538835 100644 --- a/drivers/infiniband/core/umem_dmabuf.c +++ b/drivers/infiniband/core/umem_dmabuf.c @@ -16,7 +16,6 @@ int ib_umem_dmabuf_map_pages(struct ib_umem_dmabuf *umem_dmabuf) { struct sg_table *sgt; struct scatterlist *sg; - struct dma_fence *fence; unsigned long start, end, cur = 0; unsigned int nmap = 0; int i; @@ -68,11 +67,8 @@ int ib_umem_dmabuf_map_pages(struct ib_umem_dmabuf *umem_dmabuf) * may be not up-to-date. Wait for the exporter to finish * the migration. */ - fence = dma_resv_excl_fence(umem_dmabuf->attach->dmabuf->resv); - if (fence) - return dma_fence_wait(fence, false); - - return 0; + return dma_resv_wait_timeout(umem_dmabuf->attach->dmabuf->resv, false, + false, MAX_SCHEDULE_TIMEOUT); } EXPORT_SYMBOL(ib_umem_dmabuf_map_pages);
Use dma_resv_wait() instead of extracting the exclusive fence and waiting on it manually. Signed-off-by: Christian König <christian.koenig@amd.com> --- drivers/infiniband/core/umem_dmabuf.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)