[Intel-gfx] [PATCH 5/5] drm/i915: Cancel non-persistent contexts on close

Chris Wilson chris at chris-wilson.co.uk
Mon Aug 12 14:51:19 UTC 2019


Quoting Bloomfield, Jon (2019-08-12 15:39:33)
> > -----Original Message-----
> > From: Chris Wilson <chris at chris-wilson.co.uk>
> > Sent: Friday, August 9, 2019 4:35 PM
> > To: intel-gfx at lists.freedesktop.org
> > Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>; Winiarski, Michal
> > <michal.winiarski at intel.com>; Bloomfield, Jon <jon.bloomfield at intel.com>
> > Subject: Re: [PATCH 5/5] drm/i915: Cancel non-persistent contexts on close
> > 
> > Quoting Chris Wilson (2019-08-06 14:47:25)
> > > Normally, we rely on our hangcheck to prevent persistent batches from
> > > hogging the GPU. However, if the user disables hangcheck, this mechanism
> > > breaks down. Despite our insistence that this is unsafe, the users are
> > > equally insistent that they want to use endless batches and will disable
> > > the hangcheck mechanism. We are looking are perhaps replacing hangcheck
> > > with a softer mechanism, that sends a pulse down the engine to check if
> > > it is well. We can use the same preemptive pulse to flush an active
> > > persistent context off the GPU upon context close, preventing resources
> > > being lost and unkillable requests remaining on the GPU, after process
> > > termination. To avoid changing the ABI and accidentally breaking
> > > existing userspace, we make the persistence of a context explicit and
> > > enable it by default. Userspace can opt out of persistent mode (forcing
> > > requests to be cancelled when the context is closed by process
> > > termination or explicitly) by a context parameter, or to facilitate
> > > existing use-cases by disabling hangcheck (i915.enable_hangcheck=0).
> > > (Note, one of the outcomes for supporting endless mode will be the
> > > removal of hangchecking, at which point opting into persistent mode will
> > > be mandatory, or maybe the default.)
> > 
> > For the record, I've finally run into examples of desktop clients
> > exiting before their rendering is shown. No longer hypothetical.
> > -Chris
> 
> Can you share any details - Might be useful for testing.

In cinnamon, the atl-tab switcher seems to be one. Another one seems to
be around firefox, but I haven't established the trigger. I should
actually log who owned the context!
-Chris


More information about the Intel-gfx mailing list