[igt-dev] [PATCH] [PATCH i-g-t] i915/gem_ring_sync_loop: Removal of test

priyanka.dandamudi at intel.com priyanka.dandamudi at intel.com
Wed Mar 18 06:30:38 UTC 2020


From: Priyanka Dandamudi <priyanka.dandamudi at intel.com>

Test is trying to check ring<->ring write synchronization and
also efficient at catching missed irqs. Similar scenario can
be covered by gem_sync. This test doesn't add anything to other
tests. So, removing the test.

Cc: Tahvanainen Jari <jari.tahvanainen at intel.com>
Signed-off-by: Priyanka Dandamudi <priyanka.dandamudi at intel.com>
---
 tests/Makefile.sources          |   3 -
 tests/i915/gem_ring_sync_loop.c | 104 --------------------------------
 tests/meson.build               |   1 -
 3 files changed, 108 deletions(-)
 delete mode 100644 tests/i915/gem_ring_sync_loop.c

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 1793020e..cacf56dd 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -377,9 +377,6 @@ gem_reset_stats_SOURCES = i915/gem_reset_stats.c
 TESTS_progs += gem_ring_sync_copy
 gem_ring_sync_copy_SOURCES = i915/gem_ring_sync_copy.c
 
-TESTS_progs += gem_ring_sync_loop
-gem_ring_sync_loop_SOURCES = i915/gem_ring_sync_loop.c
-
 TESTS_progs += gem_ringfill
 gem_ringfill_SOURCES = i915/gem_ringfill.c
 
diff --git a/tests/i915/gem_ring_sync_loop.c b/tests/i915/gem_ring_sync_loop.c
deleted file mode 100644
index 32b93637..00000000
--- a/tests/i915/gem_ring_sync_loop.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Daniel Vetter <daniel.vetter at ffwll.ch> (based on gem_storedw_*.c)
- *
- */
-
-#include "igt.h"
-
-IGT_TEST_DESCRIPTION("Basic check of ring<->ring write synchronisation.");
-
-/*
- * Testcase: Basic check of ring<->ring sync using a dummy reloc
- *
- * Extremely efficient at catching missed irqs with semaphores=0 ...
- */
-
-static void
-sync_loop(int fd)
-{
-	const uint32_t bbe = MI_BATCH_BUFFER_END;
-	struct drm_i915_gem_execbuffer2 execbuf;
-	struct drm_i915_gem_exec_object2 object[2];
-	struct drm_i915_gem_relocation_entry reloc[1];
-	unsigned engines[16];
-	unsigned nengine;
-	int i;
-
-	nengine = 0;
-	for_each_physical_engine(e, fd)
-		engines[nengine++] = eb_ring(e);
-	igt_require(nengine);
-
-	memset(object, 0, sizeof(object));
-	object[0].handle = gem_create(fd, 4096);
-	object[0].flags = EXEC_OBJECT_WRITE;
-	object[1].handle = gem_create(fd, 4096);
-	gem_write(fd, object[1].handle, 0, &bbe, sizeof(bbe));
-
-	memset(&execbuf, 0, sizeof(execbuf));
-	execbuf.buffers_ptr = to_user_pointer(object);
-	execbuf.buffer_count = 2;
-
-	/* Check if we have no-reloc support first */
-	if (__gem_execbuf(fd, &execbuf)) {
-		object[0].flags = 0;
-		object[1].relocs_ptr = to_user_pointer(reloc);
-		object[1].relocation_count = 1;
-
-		/* Add a dummy relocation to mark the object as writing */
-		memset(reloc, 0, sizeof(reloc));
-		reloc->offset = 1000;
-		reloc->target_handle = object[0].handle;
-		reloc->read_domains = I915_GEM_DOMAIN_RENDER;
-		reloc->write_domain = I915_GEM_DOMAIN_RENDER;
-
-		gem_execbuf(fd, &execbuf);
-	}
-
-	srandom(0xdeadbeef);
-
-	for (i = 0; i < SLOW_QUICK(0x100000, 10); i++) {
-		execbuf.flags = engines[rand() % nengine];
-		gem_execbuf(fd, &execbuf);
-	}
-
-	gem_sync(fd, object[1].handle);
-	gem_close(fd, object[1].handle);
-	gem_close(fd, object[0].handle);
-}
-
-igt_simple_main
-{
-	int fd;
-
-	fd = drm_open_driver(DRIVER_INTEL);
-	igt_require_gem(fd);
-	intel_detect_and_clear_missed_interrupts(fd);
-
-	sync_loop(fd);
-
-	igt_assert_eq(intel_detect_and_clear_missed_interrupts(fd), 0);
-	close(fd);
-}
diff --git a/tests/meson.build b/tests/meson.build
index 7629afde..8f00fbf2 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -188,7 +188,6 @@ i915_progs = [
 	'gem_request_retire',
 	'gem_reset_stats',
 	'gem_ring_sync_copy',
-	'gem_ring_sync_loop',
 	'gem_ringfill',
 	'gem_set_tiling_vs_blt',
 	'gem_set_tiling_vs_gtt',
-- 
2.25.0



More information about the igt-dev mailing list