[Intel-gfx] [PATCH v2 3/3] drm/i915: optimise intel_runtime_pm_{get, put}
Imre Deak
imre.deak at intel.com
Fri Nov 18 15:41:50 UTC 2016
On pe, 2016-11-18 at 14:00 +0000, Chris Wilson wrote:
> On Fri, Nov 18, 2016 at 03:36:47PM +0200, David Weinehall wrote:
> > Benchmarking shows that on resume we spend quite a bit of time
> > just taking and dropping these references, leaving us two options;
> > either rewriting the code not to take these references more than
> > once, which would be a rather invasive change since the involved
> > functions are used from other places, or to optimise
> > intel_runtime_pm_{get,put}(). This patch does the latter.
> > Initial benchmarking indicate improvements of a couple
> > of milliseconds on resume.
> >
> > Original patch by Chris, with slight fixes by me.
> >
> > v2: Fix missing return value (Patchwork)
> > Remove extra atomic_dec() (Chris)
> >
> > Signed-off-by: David Weinehall <david.weinehall at linux.intel.com>
> > CC: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Imre Deak <imre.deak at linux.intel.com>
>
> I'm happy with this. Not amused that it apparently saves quite a bit
> of
> overhead with frequent pm_runtime calls.
>
> Imre?
I think the overhead is because the RPM core takes a lock and checks if
the device needs to be woken up even if the runtime_usage count is 0.
But for us the device is awake whenever wakeref_count > 0, so yes we
can optimize things.
> -Chris
>
More information about the Intel-gfx
mailing list