Re: Mysterious RTC hangs on x86_64 - fixed, sort of

From: Chuck Ebbert
Date: Wed May 02 2007 - 18:56:57 EST


Zachary Amsden wrote:
> With this patch, /sbin/hwclock no longer hangs my AMD64 machine when run
> after reaching multiuser. What I don't understand is why. I have the
> RTC based sound sequencer timer as a module, but not loaded, and the
> error message I added to indicate broken rtc control does not fire.
>
> So why is it that if I stop taking the rtc_task_lock and issuing the
> callbacks which should never be held or exist that my system no longer
> hard freezes?
>
> --- /tmp/a 2007-05-03 15:36:07.451256181 -0700
> +++ drivers/char/rtc.c 2007-05-03 15:27:49.000000000 -0700
> @@ -265,10 +265,10 @@
> spin_unlock (&rtc_lock);
>
> /* Now do the rest of the actions */
> - spin_lock(&rtc_task_lock);
> - if (rtc_callback)
> - rtc_callback->func(rtc_callback->private_data);
> - spin_unlock(&rtc_task_lock);
> +/* spin_lock(&rtc_task_lock); */
> +// if (rtc_callback)
> +// rtc_callback->func(rtc_callback->private_data);
> +/* spin_unlock(&rtc_task_lock); */
> wake_up_interruptible(&rtc_wait);

Try leaving the spinlocks and just disabling the callbacks. And maybe
enable spinlock debugging...

>
> CONFIG_HPET_EMULATE_RTC=y

Did you try without that?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/