[Intel-gfx] [PATCH 03/28] drm/i915/selftests: Try to recycle context allocations
Chris Wilson
chris at chris-wilson.co.uk
Mon Aug 26 07:21:24 UTC 2019
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 at chris-wilson.co.uk>
---
drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
index 758417d9f3c1..065f5bad466b 100644
--- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
@@ -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;
@@ -437,6 +437,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;
}
}
@@ -448,12 +449,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;
}
@@ -466,6 +469,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",
--
2.23.0
More information about the Intel-gfx
mailing list