[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