[PATCH 5/5] drm/vmwgfx: Remove call to reservation_object_test_signaled_rcu before wait
Sinclair Yeh
syeh at vmware.com
Fri Aug 26 18:35:00 UTC 2016
Reviewed-by: Sinclair Yeh <syeh at vmware.com>
On Thu, Aug 11, 2016 at 03:46:22PM +0100, Chris Wilson wrote:
> Since fence_wait_timeout_reservation_object_wait_timeout_rcu() with a
> timeout of 0 becomes reservation_object_test_signaled_rcu(), we do not
> need to handle such conversion in the caller. The only challenge are
> those callers that wish to differentiate the error code between the
> nonblocking busy check and potentially blocking wait.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Sinclair Yeh <syeh at vmware.com>
> Cc: Thomas Hellstrom <thellstrom at vmware.com>
> ---
> drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
> index 6a328d507a28..afda2a57a094 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
> @@ -574,10 +574,8 @@ static int vmw_user_dmabuf_synccpu_grab(struct vmw_user_dma_buffer *user_bo,
> bool nonblock = !!(flags & drm_vmw_synccpu_dontblock);
> long lret;
>
> - if (nonblock)
> - return reservation_object_test_signaled_rcu(bo->resv, true) ? 0 : -EBUSY;
> -
> - lret = reservation_object_wait_timeout_rcu(bo->resv, true, true, MAX_SCHEDULE_TIMEOUT);
> + lret = reservation_object_wait_timeout_rcu(bo->resv, true, true,
> + nonblock ? 0 :MAX_SCHEDULE_TIMEOUT);
> if (!lret)
> return -EBUSY;
> else if (lret < 0)
> --
> 2.8.1
>
More information about the dri-devel
mailing list