[Intel-gfx] [PATCH v2 09/16] drm/i915: Ensure i915_vma tests do not get -ENOSPC with the locking changes.
Matthew Auld
matthew.william.auld at gmail.com
Wed Dec 8 11:49:33 UTC 2021
On Mon, 29 Nov 2021 at 13:58, Maarten Lankhorst
<maarten.lankhorst at linux.intel.com> wrote:
>
> Now that we require locking to evict, multiple vmas from the same object
> might not be evicted. This is expected and required, because execbuf will
> move to short-term pinning by using the lock only. This will cause these
> tests to fail, because they create a ton of vma's for the same object.
>
> Unbind manually to prevent spurious -ENOSPC in those mock tests.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
Hmm, do we need this? It looks like we should be able to handle such
scenarios, with already locked objects sharing the same dma-resv? Or
is something else going on here?
> ---
> drivers/gpu/drm/i915/selftests/i915_vma.c | 17 ++++++++++++++++-
> 1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/selftests/i915_vma.c b/drivers/gpu/drm/i915/selftests/i915_vma.c
> index 1f10fe36619b..5c5809dfe9b2 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_vma.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_vma.c
> @@ -691,7 +691,11 @@ static int igt_vma_rotate_remap(void *arg)
> }
>
> i915_vma_unpin(vma);
> -
> + err = i915_vma_unbind(vma);
> + if (err) {
> + pr_err("Unbinding returned %i\n", err);
> + goto out_object;
> + }
> cond_resched();
> }
> }
> @@ -848,6 +852,11 @@ static int igt_vma_partial(void *arg)
>
> i915_vma_unpin(vma);
> nvma++;
> + err = i915_vma_unbind(vma);
> + if (err) {
> + pr_err("Unbinding returned %i\n", err);
> + goto out_object;
> + }
>
> cond_resched();
> }
> @@ -882,6 +891,12 @@ static int igt_vma_partial(void *arg)
>
> i915_vma_unpin(vma);
>
> + err = i915_vma_unbind(vma);
> + if (err) {
> + pr_err("Unbinding returned %i\n", err);
> + goto out_object;
> + }
> +
> count = 0;
> list_for_each_entry(vma, &obj->vma.list, obj_link)
> count++;
> --
> 2.34.0
>
More information about the Intel-gfx
mailing list