From 2bef4d46c63ea327d4740da5ccc760e07d928471 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Tue, 8 Jun 2021 11:40:18 +0200 Subject: Revert "i915/gem_exec_reloc: Flood the ring with GPU relocs" This reverts commit 57ee41f12b7a53283fd812c5f72fcb39e6ad2197. This validates gpu relocations, which we're about to delete. Cc: Jason Ekstrand Cc: Maarten Lankhorst Cc: Dave Airlie Cc: Lakshminarayana Vudum Signed-off-by: Daniel Vetter Reviewed-by: Jason Ekstrand --- tests/i915/gem_exec_reloc.c | 92 --------------------------------------------- 1 file changed, 92 deletions(-) (limited to 'tests/i915/gem_exec_reloc.c') diff --git a/tests/i915/gem_exec_reloc.c b/tests/i915/gem_exec_reloc.c index a20f50a9..3698d557 100644 --- a/tests/i915/gem_exec_reloc.c +++ b/tests/i915/gem_exec_reloc.c @@ -346,91 +346,6 @@ static void active(int fd, const intel_ctx_t *ctx, 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, const intel_ctx_t *ctx, 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, - .rsvd1 = ctx->id, - }; - igt_spin_t *spin; - - spin = __igt_spin_new(i915, - .ctx = ctx, - .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, const intel_ctx_t *ctx, 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, ctx, engine, count); - - count <<= 1; - if (count >= max) - break; - } -} - static unsigned int offset_in_page(void *addr) { return (uintptr_t)addr & 4095; @@ -1371,13 +1286,6 @@ igt_main } } - igt_subtest_with_dynamic("basic-many-active") { - for_each_ctx_engine(fd, ctx, e) { - igt_dynamic_f("%s", e->name) - many_active(fd, ctx, e->flags); - } - } - igt_subtest("basic-concurrent0") concurrent(fd, ctx, 0); igt_subtest("basic-concurrent16") -- cgit v1.2.3