Re: [PATCH i-g-t] i915/gem_exec_limit: Limit to a maximum of 120s

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 14/01/2019 09:16, Chris Wilson wrote:
Each individual pass is as effective at spotting an error using the
Chinese whisper as any other, so the effectiveness of adding more passes
rapidly diminishes. To keep the tests bounded within time, limit a
subtest to a mere 150s!

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108592
Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
---
  tests/i915/gem_exec_whisper.c | 13 +++++++++----

I was wondering what gem_exec_limit was! :)

  1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/tests/i915/gem_exec_whisper.c b/tests/i915/gem_exec_whisper.c
index 81303f847..d2ee98399 100644
--- a/tests/i915/gem_exec_whisper.c
+++ b/tests/i915/gem_exec_whisper.c
@@ -189,12 +189,12 @@ static void whisper(int fd, unsigned engine, unsigned flags)
  	unsigned engines[16];
  	unsigned nengine;
  	uint32_t batch[16];
-	int i, n, pass, loc;
  	unsigned int relocations = 0;
  	unsigned int reloc_migrations = 0;
  	unsigned int reloc_interruptions = 0;
  	unsigned int eb_migrations = 0;
  	uint64_t old_offset;
+	int i, n, loc;
  	int debugfs;
if (flags & PRIORITY) {
@@ -323,7 +323,9 @@ static void whisper(int fd, unsigned engine, unsigned flags)
  		}
igt_while_interruptible(flags & INTERRUPTIBLE) {
-			for (pass = 0; pass < 1024; pass++) {
+			unsigned int pass = 0;
+
+			igt_until_timeout(150) {
  				uint64_t offset;
if (!(flags & FORKED))
@@ -384,10 +386,10 @@ static void whisper(int fd, unsigned engine, unsigned flags)
  						handle[1] = batches[n].handle;
  						batches[n-1].handle =
  							gem_open(this_fd,
-									gem_flink(fd, handle[0]));
+								 gem_flink(fd, handle[0]));
  						batches[n].handle =
  							gem_open(this_fd,
-									gem_flink(fd, handle[1]));
+								 gem_flink(fd, handle[1]));
  						if (flags & PRIORITY)
  							ctx_set_random_priority(this_fd, 0);
  					}
@@ -462,6 +464,9 @@ static void whisper(int fd, unsigned engine, unsigned flags)
store = tmp[1];
  				scratch = tmp[0];
+
+				if (++pass == 1024)
+					break;
  			}
  		}
  		igt_info("Number of migrations for execbuf: %d\n", eb_migrations);

Log number of passes while at it?



Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>

Regards,

Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux