[Intel-gfx] [PATCH] drm: Don't block the kworker waiting for mode_config.lock in output_poll()
Daniel Vetter
daniel at ffwll.ch
Tue Dec 6 12:41:14 UTC 2016
On Tue, Dec 06, 2016 at 11:55:14AM +0000, Eric Engestrom wrote:
> On Tuesday, 2016-12-06 11:37:15 +0000, Chris Wilson wrote:
> > If we cannot acquire the mode_config.lock immediately, just back off and
>
> s/mode_config.lock/mode_config.mutex lock/ ?
Fixed
>
> > queue a new attempt after the poll interval. This is mostly to stop the
> > hung task spam when the system is deadlocked, but it will also lessen
> > the load (in such extreme cases).
> >
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
>
> Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
... and applied, thanks.
-Daniel
>
> > ---
> > drivers/gpu/drm/drm_probe_helper.c | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c
> > index ff9ba6f35248..0bf629354297 100644
> > --- a/drivers/gpu/drm/drm_probe_helper.c
> > +++ b/drivers/gpu/drm/drm_probe_helper.c
> > @@ -394,7 +394,11 @@ static void output_poll_execute(struct work_struct *work)
> > if (!drm_kms_helper_poll)
> > goto out;
> >
> > - mutex_lock(&dev->mode_config.mutex);
> > + if (!mutex_trylock(&dev->mode_config.mutex)) {
> > + repoll = true;
> > + goto out;
> > + }
> > +
> > drm_for_each_connector(connector, dev) {
> >
> > /* Ignore forced connectors. */
> > --
> > 2.11.0
> >
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list