Thread (102 messages) 102 messages, 3 authors, 2021-08-06

Re: [igt-dev] [PATCH i-g-t v3 10/52] tests/gem_busy: Adopt to use allocator

From: Zbigniew Kempczyński <hidden>
Date: 2021-08-05 08:15:02

On Wed, Aug 04, 2021 at 07:07:41PM -0700, Dixit, Ashutosh wrote:
On Mon, 26 Jul 2021 12:59:44 -0700, Zbigniew Kempczyński wrote:
quoted
For newer gens we're not able to rely on relocations. Adopt to use
offsets acquired from the allocator.

Signed-off-by: Zbigniew Kempczyński <redacted>
Cc: Petri Latvala <redacted>
Cc: Ashutosh Dixit <redacted>
---
 tests/i915/gem_busy.c | 35 +++++++++++++++++++++++++++++++----
 1 file changed, 31 insertions(+), 4 deletions(-)
diff --git a/tests/i915/gem_busy.c b/tests/i915/gem_busy.c
index f0fca0e8a..51ec5ad04 100644
--- a/tests/i915/gem_busy.c
+++ b/tests/i915/gem_busy.c
@@ -108,6 +108,7 @@ static void semaphore(int fd, const intel_ctx_t *ctx,
uint32_t handle[3];
uint32_t read, write;
uint32_t active;
+	uint64_t ahnd = get_reloc_ahnd(fd, ctx->id);
unsigned i;

handle[TEST] = gem_create(fd, 4096);
@@ -117,6 +118,7 @@ static void semaphore(int fd, const intel_ctx_t *ctx,
/* Create a long running batch which we can use to hog the GPU */
handle[BUSY] = gem_create(fd, 4096);
spin = igt_spin_new(fd,
+			    .ahnd = ahnd,
		    .ctx = ctx,
		    .engine = e->flags,
		    .dependency = handle[BUSY]);
Missing put_ahnd.
quoted
@@ -428,6 +442,7 @@ igt_main
igt_subtest_group {
	igt_fixture {
+			intel_allocator_multiprocess_start();
		igt_fork_hang_detector(fd);
	}
@@ -445,6 +460,21 @@ igt_main
		}
	}
Just above here is basic() which doesn't have a fork. Is it ok to do
intel_allocator_multiprocess_start/stop when we don't have a fork? If yes,
then can we _always_ do intel_allocator_multiprocess_start/stop rather than
only when we have fork? Thanks.
It seems that basic() is called within same dynamic subtest "busy", so migrating
it outside of this (there's all() with igt_fork inside "busy") would split
that subtest. I'm not sure we want to do this.

--
Zbigniew
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help