Re: BUG: kworker hangs the GPU on drm and i915 since 3.8.x under X11

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Indeed, I set explicitly drm_kms_helper.poll=0 since 2.35.x. See here:
http://souriguha.wordpress.com/2011/03/08/how-to-solve-problem-with-thinkpadkslowd-kworker-on-linux-kernel-2-35-2-36/

Mouse and keyboard freezes intermittently some time after boot up. Actually the problem has to do with the GPU lagging and displaying the changes later. This results in an almost unusable desktop environment. Top will report the high CPU usage by 3-4 processes named kworker. With the drm_kms_helper.poll=0 it was until the 3.8.x kernel resolved.

Since the 3.8.x kernels the exact same problem appeared again. The problem persists with the latest 3.9-rc5 too.
 
Thanks, George

From: Daniel Vetter <daniel.vetter@xxxxxxxx>
To: George Amanakis <g_amanakis@xxxxxxxxx>
Cc: "alexander.deucher@xxxxxxx" <alexander.deucher@xxxxxxx>; "airlied@xxxxxxxxxx" <airlied@xxxxxxxxxx>; dri-devel <dri-devel@xxxxxxxxxxxxxxxxxxxxx>; intel-gfx <intel-gfx@xxxxxxxxxxxxxxxxxxxxx>
Sent: Saturday, April 6, 2013 5:11 PM
Subject: Re: BUG: kworker hangs the GPU on drm and i915 since 3.8.x under X11

Indeed, the commit you've bisected too accidentally removed this
check. I'll submit a patch.So I guess you've explicitly set
drm_kms_helper.poll=0. Can you please elaborate what you're working
around with this option? Any such case is a bug.

Also, can you please test latest 3.9-rc kernels (without your patch,
i.e. a broken configuration)? It contains some rework to make hpd
detection less intrusive for normal desktop activity and should also
greatly help for your case here.

Thanks, Daniel


>
> diff -rupN a/drivers/gpu/drm/drm_crtc_helper.c
> b/drivers/gpu/drm/drm_crtc_helper.c
> --- a/drivers/gpu/drm/drm_crtc_helper.c    2013-02-19 00:58:34.000000000
> +0100
> +++ b/drivers/gpu/drm/drm_crtc_helper.c    2013-04-05 23:10:36.454936677
> +0200
> @@ -1067,7 +1067,7 @@ void drm_helper_hpd_irq_event(struct drm
>      enum drm_connector_status old_status;
>      bool changed = false;
>
> -    if (!dev->mode_config.poll_enabled)
> +    if (!dev->mode_config.poll_enabled || !drm_kms_helper_poll)
>          return;
>
>      mutex_lock(&dev->mode_config.mutex);
>



--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux