On Tue, Oct 18, 2016 at 02:25:21PM +0300, Petri Latvala wrote: > If executed too soon after prime_vgem tests, the vgem unload test > fails due to its execbuffers still being handled in the kernel. Retry > the unload three times with sleeps before reporting a skip. What happened to igt ensuring that the driver was idle before closing a test? I guess that is complicated by the use of multiple drivers in vgem. diff --git a/lib/drmtest.c b/lib/drmtest.c index 40bbff6..5d3aaa8 100644 --- a/lib/drmtest.c +++ b/lib/drmtest.c @@ -344,14 +344,18 @@ int drm_open_driver(int chipset) fd = __drm_open_driver(chipset); igt_skip_on_f(fd<0, "No known gpu found\n"); - if (__sync_fetch_and_add(&open_count, 1)) - return fd; - + /* For i915, at least, we ensure that the driver is idle before + * starting a test and we install an exit handler to wait until + * idle before quitting. + */ if (is_i915_device(fd)) { - gem_quiescent_gpu(fd); - igt_install_exit_handler(quiescent_gpu_at_exit); + if (__sync_fetch_and_add(&open_count, 1) == 0) { + gem_quiescent_gpu(fd); + + at_exit_drm_fd = __drm_open_driver(chipset); + igt_install_exit_handler(quiescent_gpu_at_exit); + } } - at_exit_drm_fd = __drm_open_driver(chipset); return fd; } -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx