[Intel-gfx] [PATCH 9/9] drm/i915: Make intel_display_power_put_unchecked() an internal-only function

Chris Wilson chris at chris-wilson.co.uk
Tue Dec 1 11:13:38 UTC 2020


Quoting Imre Deak (2020-12-01 10:52:22)
> On Tue, Dec 01, 2020 at 08:14:40AM +0000, Chris Wilson wrote:
> > Quoting Imre Deak (2020-11-30 22:47:08)
> > > On Mon, Nov 30, 2020 at 10:07:01PM +0000, Chris Wilson wrote:
> > > > Quoting Imre Deak (2020-11-30 21:22:00)
> > > > > All the display power domain references are wakeref tracked now, so we
> > > > > can mark intel_display_power_put_unchecked() as an internal function
> > > > > (for suppressing wakeref tracking in non-debug builds).
> > > > > 
> > > > > Cc: Chris Wilson <chris at chris-wilson.co.uk>
> > > > > Signed-off-by: Imre Deak <imre.deak at intel.com>
> > > > 
> > > > Ok, after all previous patches it will only be called from the header
> > > > after throwing away the wakeref.
> > > > 
> > > > I have a sneaky suspicion you might take another path after reviewing
> > > > the danger caused by the debug build, 
> > > 
> > > Yes, how about also adding:
> > > 
> > > +static inline void
> > > +____intel_display_power_put(struct drm_i915_private *i915,
> > > +                           enum intel_display_power_domain domain,
> > > +                           intel_wakeref_t wakeref)
> > > +{
> > > +       intel_display_power_put_unchecked(i915, domain);
> > > +}
> > > +
> > >  static inline void
> > >  intel_display_power_put(struct drm_i915_private *i915,
> > >                         enum intel_display_power_domain domain,
> > >                         intel_wakeref_t wakeref)
> > >  {
> > > -       intel_display_power_put_unchecked(i915, domain);
> > > +       ____intel_display_power_put(i915, domain, wakeref);
> > >  }
> > > 
> > > (and similar change for intel_display_power_put_async()) ?
> > 
> > Hmm. The compiler shouldn't DCE the wakeref since it has a side-effect.
> > We can but see.
> 
> Yes, arguments passed to functions are evaluated exactly once. The above
> extra call doesn't make sense anyway.
> 
> Are you ok with patch 4 then?

If you've done a quick non-debug test run, then I'm convinced I was
barking up the wrong tree.

The remaining patches are
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
(since they were all blocked by the uncertainty in behaviour of the
fetch_and_zero).
-Chris


More information about the Intel-gfx mailing list