[lkml]   [2018]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] drm/i915: Fix i915_gem_wait_for_idle oops due to active_requests check
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 <>
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

Signed-off-by: Ping Gao <>
Reviewed-by: Zhi Wang <>
Signed-off-by: Zhenyu Wang <>

 \ /
  Last update: 2018-12-20 09:51    [W:0.042 / U:13.832 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site