[Nouveau] [Bug 65554] CPU lock with nouveau_fan_update

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Jun 8 17:40:47 PDT 2013


--- Comment #1 from Ilia Mirkin <imirkin at alum.mit.edu> ---
    spin_lock_irqsave(&fan->lock, flags);
    /* schedule next fan update, if not at target speed already */
    if (list_empty(&fan->alarm.head) && target != duty) {
        u16 bump_period = fan->bios.bump_period;
        u16 slow_down_period = fan->bios.slow_down_period;
        ptimer->alarm(ptimer, delay * 1000 * 1000, &fan->alarm);

If delay is somehow 0, the ->alarm will cause nouveau_fan_update to get called
immediately. Can you add a printk to that function that shows the values? (This
may end up totally flooding your dmesg too... but I think the values may be the
same across prints.)


diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/fan.c
index c728380..9453afd 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/therm/fan.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/therm/fan.c
@@ -88,7 +88,7 @@ nouveau_fan_update(struct nouveau_fan *fan, bool immediate,
int target)
                        delay = min(bump_period, slow_down_period) ;
                        delay = bump_period;
+               nv_info(therm, "Scheduling fan update in %d (slow: %d, bump:
%d)\n", delay, slow_down_period, bump_period);
                ptimer->alarm(ptimer, delay * 1000 * 1000, &fan->alarm);

You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20130609/ed98784a/attachment.html>

More information about the Nouveau mailing list