[igt-dev] [PATCH][PATCH i-g-t] tests/i915/gem_write_read_ring_switch Removal of IGT Test

Chris Wilson chris at chris-wilson.co.uk
Thu Feb 13 23:04:41 UTC 2020


Quoting Sravan Kumar Nedunoori (2020-02-13 04:50:04)
> Removal of this test, as it checks read/write syncpoints when switching rings
> and doesnt add anything to other tests.

write/read sync. Ah, I was thinking about read/read and the only thing
that came to mind as proving that would be the gem_busy/extended

Ok, this is covered by the gem_exec_whisper brute, but do we have a
simple and clear test to show that writes are blocked by a reader?

for_each_physical_engine(writer)
	dep = gem_create(4096);
	for_each_physical_engine(reader) {
		if (reader == write)
			continue;
		/* XXX with a few tweaks write a secret breadcrumb */
		igt_spin_new(reader, .read = dep);
	}
	breadcrumb(write, dep); /* implicit fence -> queued after readers */
	gem_quiescent_gpu(); /* cancels all spinners */
	igt_assert_eq(breadcrumb == writers);
}
/* This can be reversed to test write->reader implicit fences */

that feels very, very much like a test we have somewhere. But I couldn't
put my finger on which one.

Given that outline, could we whip up a new pair of tests
(implicit-read-fence, implicit-write-fence) for gem_exec_schedule?
-Chris


More information about the igt-dev mailing list