[Intel-gfx] [PATCH] drm/i915: remove user GTT mappings early during runtime suspend

Chris Wilson chris at chris-wilson.co.uk
Tue May 6 13:59:31 CEST 2014


On Tue, May 06, 2014 at 02:42:26PM +0300, Imre Deak wrote:
> On Tue, 2014-05-06 at 12:40 +0100, Chris Wilson wrote:
> > On Tue, May 06, 2014 at 02:28:50PM +0300, Imre Deak wrote:
> > > Currently user space can access GEM buffers mapped to GTT through
> > > existing mappings concurrently while the platform specific suspend
> > > handlers are running.  Since these handlers may change the HW state in a
> > > way that would break such accesses, remove the mappings before calling
> > > the handlers.
> > 
> > Hmm, but you never locked the device, so what is preventing those
> > concurrent accesses from refaulting in GTT entires anyway. Please explain
> > the context under which the runtime suspend code executes, and leave
> > that explanation within easy reach of intel_runtime_suspend() -
> > preferrably with testing of those assumptions.
> 
> During faulting we take an RPM reference, so that avoids concurrent
> re-faults. I could add a comment about this to the code.

You are still iterating over lists that are not safe, right? Or are
there more magic rpm references that prevent ioctls whilst
intel_runtime_suspend is being called?
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list