Commit df9004c5 authored by Chris Wilson's avatar Chris Wilson 🤔

i915/perf: Instantiate a local drm_fd for the unprivileged helper

While the test is blocked, we keep trying the gen12_single_ctx_helper().
As this is using the parent's drm_fd, all of our context allocations are
persistent. Reopen the device in the child so that when we exit, our
allocations are freed along with the process -- avoiding a total memory
leak if the test is stuck.

This does not explain why the test was stuck, it just prevents us from
exacerbating the error condition. Hopefully leaving the system in a more
debuggable state.

References: intel#2126Signed-off-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Lionel Landwerlin's avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
parent f35053d4
Pipeline #171209 passed with stages
in 12 minutes and 14 seconds
......@@ -4120,8 +4120,13 @@ gen12_test_single_ctx_render_target_writes_a_counter(void)
do {
igt_fork_helper(&child) {
/* A local device for local resources. */
drm_fd = gem_reopen_driver(drm_fd);
igt_drop_root();
gen12_single_ctx_helper();
close(drm_fd);
}
child_ret = igt_wait_helper(&child);
igt_assert(WEXITSTATUS(child_ret) == EAGAIN ||
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment