[Intel-gfx] [PATCH] drm/i915: Unpin last_context at reset

Chris Wilson chris at chris-wilson.co.uk
Thu Jun 19 09:47:22 CEST 2014


On Wed, Jun 18, 2014 at 10:04:48PM +0300, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> We're forgetting to unpin the last_context from the ggtt at GPU reset
> time. This leads to the vma pin_count leaking at every reset if the
> last context wasn't the ring default context. Further use of the same
> context will trigger the pin_count check in i915_gem_object_pin() and
> userspace will be faced with EBUSY as a result.
> 
> This plaques kms_flip rather badly since it performs lots of resets,
> and every fd has its own default context these days.
> 
> Fix the problem by properly unpinning the last context at reset.

Ah, the context reset here is faked because we never restore the default
context state.  Hmm, in fact, I get the impression that we should just
delete i915_gem_context_reset(), and make i915_gem_context_enable()
function correctly after the GPU is reset.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list