drm/i915/selftests: Remove redundant live_context for eviction
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 23 Dec 2020 15:45:09 +0000 (15:45 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 23 Dec 2020 21:09:21 +0000 (21:09 +0000)
We just need the context image from the logical state to force eviction
of many contexts, so simplify by avoiding the GEM context container.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201223154509.14155-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/selftests/i915_gem_evict.c

index f88473d396f4b8ffdbd73c4d0d8d6bea2f2571fd..3512bb8433cf280c90fe4d9afe1e2e78967239e3 100644 (file)
@@ -442,28 +442,22 @@ static int igt_evict_contexts(void *arg)
        /* Overfill the GGTT with context objects and so try to evict one. */
        for_each_engine(engine, gt, id) {
                struct i915_sw_fence fence;
-               struct file *file;
-
-               file = mock_file(i915);
-               if (IS_ERR(file)) {
-                       err = PTR_ERR(file);
-                       break;
-               }
 
                count = 0;
                onstack_fence_init(&fence);
                do {
+                       struct intel_context *ce;
                        struct i915_request *rq;
-                       struct i915_gem_context *ctx;
 
-                       ctx = live_context(i915, file);
-                       if (IS_ERR(ctx))
+                       ce = intel_context_create(engine);
+                       if (IS_ERR(ce))
                                break;
 
                        /* We will need some GGTT space for the rq's context */
                        igt_evict_ctl.fail_if_busy = true;
-                       rq = igt_request_alloc(ctx, engine);
+                       rq = intel_context_create_request(ce);
                        igt_evict_ctl.fail_if_busy = false;
+                       intel_context_put(ce);
 
                        if (IS_ERR(rq)) {
                                /* When full, fail_if_busy will trigger EBUSY */
@@ -490,8 +484,6 @@ static int igt_evict_contexts(void *arg)
                onstack_fence_fini(&fence);
                pr_info("Submitted %lu contexts/requests on %s\n",
                        count, engine->name);
-
-               fput(file);
                if (err)
                        break;
        }