[Intel-gfx] [PATCH i-g-t] syncobj: Add some wait and reset tests (v3)

Chris Wilson chris at chris-wilson.co.uk
Wed Aug 9 21:15:35 UTC 2017


Quoting Jason Ekstrand (2017-08-09 19:49:34)
> This adds both trivial error-checking tests as well as more complex
> tests which actually test whether or not waits do what they're supposed
> to do.  They only currently work on i915 but it should be simple to hook
> them up for other drivers by simply implementing the little function
> pointer hook provided at the top for triggering a syncobj.
> 
> v2:
>  - Actually add the reset tests.
> v3:
>  - Only do one execbuf for trigger
>  - Use do_ioctl and do_ioctl_err
>  - Better check for syncobj support
>  - Add local_/LOCAL_ defines of things
>  - Use a timer instead of a pthread

Do we want to bake the snapshot of fences into the ABI? It's a pretty
fundamental detail (at least imo)...

test_fences_snapshot {
	syncobj[] = ...

	bind_to_cpu(0); /* tie both to the same processor/runqueue */

	igt_fork(child, 1) {
		wait_synbocj()
	}

	yield(); /* force child to run + wait */

	/* swap fences in syncobj[] */
	/* signal new fences */

	yield();
	igt_assert(kill(childpid, 0));
	igt_waitchildren()

Details are hazy, but we have to force the child in sleeping on the
snapshot of fences, then change the syncobj[] in a detectable manner.
-Chris


More information about the Intel-gfx mailing list