[igt-dev] [Intel-gfx] [PATCH i-g-t] i915/gem_exec_limit: Limit to a maximum of 120s
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Mon Jan 14 09:42:55 UTC 2019
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 at chris-wilson.co.uk>
> ---
> 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 at intel.com>
Regards,
Tvrtko
More information about the igt-dev
mailing list