Re: [PATCH] drm/i915: Fix i915_gem_wait_for_idle oops due to active_requests check

From: Chris Wilson
Date: Thu Dec 20 2018 - 03:36:19 EST


Quoting Bin Yang (2018-12-20 08:01:35)
> Normally, i915_request_alloc() and i915_request_add() will be called
> in sequence with drm.struct_mutex locked. But in
> intel_vgpu_create_workload(), it will pre-allocate the request and
> call i915_request_add() in the workload thread for performance
> optimization. The above issue will be triggered.

That's your bug. It's not normally, it's a strict requirement that the
struct_mutex (request generation mutex) be held over the course of
generating the request.
-Chris