[Intel-gfx] [PATCH 3/3] snd/hda: Protect concurrent display_power_status with a mutex

Chris Wilson chris at chris-wilson.co.uk
Mon Jan 14 20:57:15 UTC 2019


Quoting Takashi Iwai (2019-01-14 18:00:02)
> On Mon, 14 Jan 2019 18:51:31 +0100,
> Chris Wilson wrote:
> > 
> > Quoting Takashi Iwai (2019-01-14 17:46:57)
> > > On Mon, 14 Jan 2019 18:37:53 +0100,
> > > Chris Wilson wrote:
> > > > 
> > > > Just in case the audio linkage is swapped between components during the
> > > > runtime pm sequence, we need to protect the rpm tracking with a mutex.
> > > 
> > > It's not clear to me how does this happens.
> > > Could you elaborate a bit more the scenario?
> > 
> > The code is written such that multiple bits within display_power_status
> > can be set and cleared simultaneously. There was no serialisation
> > mentioned in the routine, so I was fearful that the display_power_active
> > here was being accessed concurrently -- and if that was explaining why
> > snd/hda appears to be leaking the runtime pm (or at least is holding on
> > to the wakeref longer than igt expects, > 10s).
> 
> Aha, and does patch actually "fix" the issue...?

Not sure yet; it's a temperamental issue in CI and my chief suspect is that
it's just a misconfiguration of the rpm autosuspend. What may point
towards the scenario above is if i915.ko module unloading has any impact
on it.
 
> It's a simple mutex addition, so no big show, and I'm fine with it,
> but just wonder whether it really helped.

Yeah, it just looked suspicious when reviewing the code, will throw it
at CI a few times to see if it sticks.
-Chris


More information about the Intel-gfx mailing list