Hi Chris,

On Mon, Sep 02, 2019 at 05:15:44AM +0100, Chris Wilson wrote:
> If we are using an aliasing-ppgtt, the context images are in the same
> virtual address space as our target objects. We have to be careful that
> cloning and using a new context does not evict our unreferenced target
> object. To avoid that, we first bind both context images while creating
> the hole in the address space to ensure that the hole is still available
> later on.
> 
> Signed-off-by: Chris Wilson <[email protected]>
> ---
>  tests/i915/gem_ctx_shared.c | 15 +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/i915/gem_ctx_shared.c b/tests/i915/gem_ctx_shared.c
> index b073bdfc9..c9e7b8a1a 100644
> --- a/tests/i915/gem_ctx_shared.c
> +++ b/tests/i915/gem_ctx_shared.c
> @@ -191,6 +191,7 @@ static void exec_shared_gtt(int i915, unsigned int ring)
>               .buffer_count = 1,
>               .flags = ring,
>       };
> +     uint32_t clone;
>       uint32_t scratch, *s;
>       uint32_t batch, cs[16];
>       uint64_t offset;
> @@ -199,13 +200,18 @@ static void exec_shared_gtt(int i915, unsigned int ring)
>       gem_require_ring(i915, ring);
>       igt_require(gem_can_store_dword(i915, ring));
>  
> +     clone = gem_context_clone(i915, 0, I915_CONTEXT_CLONE_VM, 0);
> +
>       /* Find a hole big enough for both objects later */
> -     scratch = gem_create(i915, 16384);
> +     scratch = gem_create(i915, 64<<10);

I guess this is a leftover, right?

Reviewed-by: Andi Shyti <[email protected]>

Andi
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to