[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