Disabling polling in drm_helper

Daniel Vetter daniel at ffwll.ch
Tue Apr 23 00:44:19 PDT 2013


On Tue, Apr 23, 2013 at 01:16:16AM +0000, Mike Verstegen wrote:
> I'm troubleshooting an interesting problem where the
> i915_hotplug_work_func is eating up a lot of time in a couple of kworker
> threads. The interesting part of the problem is that this only happens
> with one particular model of monitor which I haven't gotten to the
> bottom of yet. But that's not the problem I'm trying  to resolve. 

This should be fixed in latest drm-next. Can you please test that?

> One band-aid for this trouble is to disable the polling in the irq_event
> # echo "N" > /sys/module/drm_kms_helper/parameters/poll
> 
> That quiets down the kworker threads. Good
> 
> To make this survive across boots, I added the following to /etc/modprobe/local.conf
> options drm_kms_helper poll=N
> 
> On reboot, the poll is still enabled
> [root at localhost ~]# cat /sys/module/drm_kms_helper/parameters/poll
> Y
> 
> Looking at the drm_crtc_helper.c I see
> void drm_kms_helper_poll_init(struct drm_device *dev)
> {
>         INIT_DELAYED_WORK(&dev->mode_config.output_poll_work, output_poll_execute);
>         dev->mode_config.poll_enabled = true;
> 
>         drm_kms_helper_poll_enable(dev);
> }
> 
> If I'm reading that correctly, poll_enable is set to true on initialization unconditionally.
> 
> Questions:
> - Am I using "options drm_kms_helper poll=N" correctly
> - Is there a better way to have this option set to false on initialization?

You probably need to rebuild your initrd with your distro tools since
drm_kms_helper is loaded really early.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list