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@xxxxxxxxxxxxxxx> > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > > Cc: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> > > Tested-by: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> > Reviewed-by: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Thanks for the heads up and testing the patch, pushed. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx