Due to the way i915_perf_open() works, it installs a wakeref on the fd. This wakeref prevents the normal drm_open_driver() exithandler from returning (as that waits for all wakerefs to ensure the GPU is idle). We need to manually control the nesting of cleanup, and so need to use __drm_open_driver() to avoid the default exithandler. References: https://gitlab.freedesktop.org/drm/intel/issues/1085#note_419148 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> --- tests/perf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/perf.c b/tests/perf.c index 7b11f668c..869e5f1e9 100644 --- a/tests/perf.c +++ b/tests/perf.c @@ -4489,7 +4489,8 @@ igt_main */ igt_assert_eq(drm_fd, -1); - drm_fd = drm_open_driver(DRIVER_INTEL); + /* Avoid the normal exithandler, our perf-fd interferes */ + drm_fd = __drm_open_driver(DRIVER_INTEL); igt_require_gem(drm_fd); devid = intel_get_drm_devid(drm_fd); -- 2.25.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx