Skip to content

Commit

Permalink
drm/i915/selftests: Try to recycle context allocations
Browse files Browse the repository at this point in the history
igt_ctx_exec allocates a new context for each iteration, keeping them
all allocated until the end. Instead, release the local ctx reference at
the end of each iteration, allowing ourselves to reap those if under
mempressure.

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/20190827161726.3640-2-chris@chris-wilson.co.uk
  • Loading branch information
Chris Wilson committed Aug 28, 2019
1 parent f2085c8 commit c4e6488
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ static int igt_ctx_exec(void *arg)
struct i915_gem_context *ctx;
struct intel_context *ce;

ctx = live_context(i915, file);
ctx = kernel_context(i915);
if (IS_ERR(ctx)) {
err = PTR_ERR(ctx);
goto out_unlock;
Expand All @@ -438,6 +438,7 @@ static int igt_ctx_exec(void *arg)
if (IS_ERR(obj)) {
err = PTR_ERR(obj);
intel_context_put(ce);
kernel_context_close(ctx);
goto out_unlock;
}
}
Expand All @@ -449,12 +450,14 @@ static int igt_ctx_exec(void *arg)
engine->name, ctx->hw_id,
yesno(!!ctx->vm), err);
intel_context_put(ce);
kernel_context_close(ctx);
goto out_unlock;
}

err = throttle(ce, tq, ARRAY_SIZE(tq));
if (err) {
intel_context_put(ce);
kernel_context_close(ctx);
goto out_unlock;
}

Expand All @@ -467,6 +470,7 @@ static int igt_ctx_exec(void *arg)
ncontexts++;

intel_context_put(ce);
kernel_context_close(ctx);
}

pr_info("Submitted %lu contexts to %s, filling %lu dwords\n",
Expand Down

0 comments on commit c4e6488

Please sign in to comment.