Re: [PATCH] drm/i915/selftests: Wait request to finish

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 18/10/2021 04:42, Oak Zeng wrote:
Caller of function igt_gpu_fill_dw assumes when this function
returns, the gpu command to fill dword is already finished.
Caller usually checks the GPU filling result immediately, see
the usage in function __igt_write_huge. If there is no wait,
when function igt_gpu_fill_dw returns, the GPU command is not
guaranteed to be finished. So wait for request to finish.

AFAIK the existing callers only expect that the request will be scheduled to run at some point, like in the case of __igt_write_huge(), before we read the page contents via the CPU, there is an object_wait(). Also in the shrink_thp test I guess we intentionally don't want to wait directly in the test, since part of what we are testing is that the shrinker ensures the object is idle before unbinding it.


Signed-off-by: Oak Zeng <oak.zeng@xxxxxxxxx>
---
  drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c b/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c
index b35c1219c852..5fa595ed30b1 100644
--- a/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c
+++ b/drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c
@@ -157,6 +157,7 @@ int igt_gpu_fill_dw(struct intel_context *ce,
  	if (err)
  		i915_request_set_error_once(rq, err);
  	i915_request_add(rq);
+	err = i915_request_wait(rq, 0, HZ/5);
  err_batch:
  	i915_vma_unpin_and_release(&batch, 0);
  	return err;




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux