[igt-dev] [PATCH i-g-t 5/7] Revert "i915/gem_exec_reloc: Flood the ring with GPU relocs"

Daniel Vetter daniel.vetter at ffwll.ch
Tue Jun 8 09:40:18 UTC 2021


This reverts commit 57ee41f12b7a53283fd812c5f72fcb39e6ad2197.

This validates gpu relocations, which we're about to delete.

Cc: Jason Ekstrand <jason at jlekstrand.net>
Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
Cc: Dave Airlie <airlied at redhat.com>
Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
---
 tests/i915/gem_exec_reloc.c | 89 -------------------------------------
 1 file changed, 89 deletions(-)

diff --git a/tests/i915/gem_exec_reloc.c b/tests/i915/gem_exec_reloc.c
index c3f42aff9c9a..cbd40962c610 100644
--- a/tests/i915/gem_exec_reloc.c
+++ b/tests/i915/gem_exec_reloc.c
@@ -344,88 +344,6 @@ static void active(int fd, unsigned engine)
 	gem_close(fd, obj[0].handle);
 }
 
-static uint64_t many_relocs(unsigned long count, unsigned long *out)
-{
-	struct drm_i915_gem_relocation_entry *reloc;
-	unsigned long sz;
-	int i;
-
-	sz = count * sizeof(*reloc);
-	sz = ALIGN(sz, 4096);
-
-	reloc = mmap(0, sz, PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
-	igt_assert(reloc != MAP_FAILED);
-	for (i = 0; i < count; i++) {
-		reloc[i].target_handle = 0;
-		reloc[i].presumed_offset = ~0ull;
-		reloc[i].offset = 8 * i;
-		reloc[i].delta = 8 * i;
-	}
-	mprotect(reloc, sz, PROT_READ);
-
-	*out = sz;
-	return to_user_pointer(reloc);
-}
-
-static void __many_active(int i915, unsigned engine, unsigned long count)
-{
-	unsigned long reloc_sz;
-	struct drm_i915_gem_exec_object2 obj[2] = {{
-		.handle = gem_create(i915, count * sizeof(uint64_t)),
-		.relocs_ptr = many_relocs(count, &reloc_sz),
-		.relocation_count = count,
-	}};
-	struct drm_i915_gem_execbuffer2 execbuf = {
-		.buffers_ptr = to_user_pointer(obj),
-		.buffer_count = ARRAY_SIZE(obj),
-		.flags = engine | I915_EXEC_HANDLE_LUT,
-	};
-	igt_spin_t *spin;
-
-	spin = __igt_spin_new(i915,
-			      .engine = engine,
-			      .dependency = obj[0].handle,
-			      .flags = (IGT_SPIN_FENCE_OUT |
-					IGT_SPIN_NO_PREEMPTION));
-	obj[1] = spin->obj[1];
-	gem_execbuf(i915, &execbuf);
-	igt_assert_eq(sync_fence_status(spin->out_fence), 0);
-	igt_spin_free(i915, spin);
-
-	for (unsigned long i = 0; i < count; i++) {
-		uint64_t addr;
-
-		gem_read(i915, obj[0].handle, i * sizeof(addr),
-			 &addr, sizeof(addr));
-
-		igt_assert_eq_u64(addr, obj[0].offset + i * sizeof(addr));
-	}
-
-	munmap(from_user_pointer(obj[0].relocs_ptr), reloc_sz);
-	gem_close(i915, obj[0].handle);
-}
-
-static void many_active(int i915, unsigned engine)
-{
-	const uint64_t max = 2048;
-	unsigned long count = 256;
-
-	igt_until_timeout(2) {
-		uint64_t required, total;
-
-		if (!__intel_check_memory(1, 8 * count, CHECK_RAM,
-					  &required, &total))
-			break;
-
-		igt_debug("Testing count:%lu\n", count);
-		__many_active(i915, engine, count);
-
-		count <<= 1;
-		if (count >= max)
-			break;
-	}
-}
-
 static unsigned int offset_in_page(void *addr)
 {
 	return (uintptr_t)addr & 4095;
@@ -1053,13 +971,6 @@ igt_main
 		}
 	}
 
-	igt_subtest_with_dynamic("basic-many-active") {
-		__for_each_physical_engine(fd, e) {
-			igt_dynamic_f("%s", e->name)
-				many_active(fd, e->flags);
-		}
-	}
-
 	igt_subtest("invalid-domains")
 		invalid_domains(fd);
 
-- 
2.24.1



More information about the igt-dev mailing list