[Intel-gfx] [PATCH] drm/i915: Drop flushing of the object free list/worker from i915_gem_suspend
Chris Wilson
chris at chris-wilson.co.uk
Wed Jun 28 11:16:50 UTC 2017
Quoting David Weinehall (2017-06-27 18:57:34)
> On Tue, Jun 27, 2017 at 06:37:31PM +0100, Chris Wilson wrote:
> > i915_gem_suspend() is called from all of our finalization paths
> > (suspend, hibernate, unload). i915_gem_drain_freed_objects() adds an
> > arbitrary delay as it uses an rcu_barrier() to ensure that there are no
> > more freed objects in flight, and this delay causes a large amount of
> > variability in suspend timings. For S3 suspend, we do not need to free
> > pages as doing so does not impact at all upon the system in its
> > suspended state, unlike S4 hibernation where we do want the hibernation
> > image to be as small as possible. Therefore we can forgo waiting inside
> > i915_gem_suspend(), so long as we ensure that we do cleanup before
> > unload (see i915_gem_load_cleanup()) and prefer to reap our objects
> > prior to hibernation (see i915_gem_freeze()).
> >
> > Removing the rcu_barrier() from i915_gem_suspend() improves S3 latency
> > by about 30ms on Skylake (ymmv).
> >
> > Reported-by: David Weinehall <david.weinehall at linux.intel.com>
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: David Weinehall <david.weinehall at linux.intel.com>
>
> Tested-by: David Weinehall <david.weinehall at linux.intel.com>
> Reviewed-by: David Weinehall <david.weinehall at linux.intel.com>
Thanks for the heads up and testing the patch, pushed.
-Chris
More information about the Intel-gfx
mailing list