On Thu, 2018-12-20 at 08:35 +0000, Chris Wilson wrote: > 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 This code is introduced by below patch. Add original patch owners to discuss this issue. commit d0302e74003bf1f0fc41c06948b745204c4704ea Author: Ping Gao <ping.a.gao@xxxxxxxxx> Date: Thu Jun 29 12:22:43 2017 +0800 drm/i915/gvt: Audit and shadow workload during ELSP writing Let the workload audit and shadow ahead of vGPU scheduling, that will eliminate GPU idle time and improve performance for multi-VM. The performance of Heaven running simultaneously in 3VMs has improved 20% after this patch. v2:Remove condition current->vgpu==vgpu when shadow during ELSP writing. Signed-off-by: Ping Gao <ping.a.gao@xxxxxxxxx> Reviewed-by: Zhi Wang <zhi.a.wang@xxxxxxxxx> Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx