Andrew,
Seems like a lot of people see the below error message, but aren't quite sure
why it happens or how to fix it. I sure didn't.
Here's my attempt at remedying that - Should apply cleanly against 2.6.1.
Thanks,
Timothy
diff -urN linux-2.6.1-orig/arch/i386/kernel/timers/timer_tsc.c linux-2.6.1/arch/i386/kernel/timers/timer_tsc.c
--- linux-2.6.1-orig/arch/i386/kernel/timers/timer_tsc.c 2004-01-09 01:59:46.000000000 -0500
+++ linux-2.6.1/arch/i386/kernel/timers/timer_tsc.c 2004-01-23 21:16:24.000000000 -0500
@@ -232,9 +232,13 @@
/* sanity check to ensure we're not always losing ticks */
if (lost_count++ > 100) {
printk(KERN_WARNING "Losing too many ticks!\n");
- printk(KERN_WARNING "TSC cannot be used as a timesource."
- " (Are you running with SpeedStep?)\n");
- printk(KERN_WARNING "Falling back to a sane timesource.\n");
+ printk(KERN_WARNING "TSC cannot be used as a timesource. ");
+ printk(KERN_WARNING "Possible reasons for this are:\n");
+ printk(KERN_WARNING " You're running with Speedstep,\n");
+ printk(KERN_WARNING " You don't have DMA enabled for your hard disk (see hdparm),\n");
+ printk(KERN_WARNING " Incorrect TSC synchronization on an SMP system (see dmesg).\n");
+ printk(KERN_WARNING "Falling back to a sane timesource now.\n");
+
clock_fallback();
}
} else
timothy parkinson writes:
>
> Andrew,
>
> Seems like a lot of people see the below error message, but aren't quite sure
> why it happens or how to fix it. I sure didn't.
>
> Here's my attempt at remedying that - Should apply cleanly against 2.6.1.
>
> Thanks,
> Timothy
>
> diff -urN linux-2.6.1-orig/arch/i386/kernel/timers/timer_tsc.c linux-2.6.1/arch/i386/kernel/timers/timer_tsc.c
> --- linux-2.6.1-orig/arch/i386/kernel/timers/timer_tsc.c 2004-01-09 01:59:46.000000000 -0500
> +++ linux-2.6.1/arch/i386/kernel/timers/timer_tsc.c 2004-01-23 21:16:24.000000000 -0500
> @@ -232,9 +232,13 @@
> /* sanity check to ensure we're not always losing ticks */
> if (lost_count++ > 100) {
> printk(KERN_WARNING "Losing too many ticks!\n");
> - printk(KERN_WARNING "TSC cannot be used as a timesource."
> - " (Are you running with SpeedStep?)\n");
> - printk(KERN_WARNING "Falling back to a sane timesource.\n");
> + printk(KERN_WARNING "TSC cannot be used as a timesource. ");
> + printk(KERN_WARNING "Possible reasons for this are:\n");
> + printk(KERN_WARNING " You're running with Speedstep,\n");
> + printk(KERN_WARNING " You don't have DMA enabled for your hard disk (see hdparm),\n");
> + printk(KERN_WARNING " Incorrect TSC synchronization on an SMP system (see dmesg).\n");
+#ifdef CONFIG_KGDB
+ printk(KERN_WARNING " You're single-stepping under kgdb (see what you are doing).\n");
+#endif
Modulo that person debugging kernel with kgdb probably understands this
anyway.
> + printk(KERN_WARNING "Falling back to a sane timesource now.\n");
> +
Nikita.
Hi!
>
> Andrew,
>
> Seems like a lot of people see the below error message, but aren't quite sure
> why it happens or how to fix it. I sure didn't.
>
> Here's my attempt at remedying that - Should apply cleanly against 2.6.1.
>
> Thanks,
> Timothy
>
> diff -urN linux-2.6.1-orig/arch/i386/kernel/timers/timer_tsc.c linux-2.6.1/arch/i386/kernel/timers/timer_tsc.c
> --- linux-2.6.1-orig/arch/i386/kernel/timers/timer_tsc.c 2004-01-09 01:59:46.000000000 -0500
> +++ linux-2.6.1/arch/i386/kernel/timers/timer_tsc.c 2004-01-23 21:16:24.000000000 -0500
> @@ -232,9 +232,13 @@
> /* sanity check to ensure we're not always losing ticks */
> if (lost_count++ > 100) {
> printk(KERN_WARNING "Losing too many ticks!\n");
> - printk(KERN_WARNING "TSC cannot be used as a timesource."
> - " (Are you running with SpeedStep?)\n");
> - printk(KERN_WARNING "Falling back to a sane timesource.\n");
> + printk(KERN_WARNING "TSC cannot be used as a timesource. ");
> + printk(KERN_WARNING "Possible reasons for this are:\n");
> + printk(KERN_WARNING " You're running with Speedstep,\n");
> + printk(KERN_WARNING " You don't have DMA enabled for your hard disk (see hdparm),\n");
> + printk(KERN_WARNING " Incorrect TSC synchronization on an SMP system (see dmesg).\n");
> + printk(KERN_WARNING "Falling back to a sane timesource now.\n");
> +
> clock_fallback();
> }
> } else
If something, make it "Loosing too many ticks, TSC cannot be used as a
timesource (see Documentation/time.txt)". We do not want 7 lines of
messages....
Pavel
--
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]