This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / arch / ia64 / kernel / time.c
index f671831..bd34fe9 100644 (file)
@@ -71,8 +71,14 @@ timer_interrupt (int irq, void *dev_id, struct pt_regs *regs)
        profile_tick(CPU_PROFILING, regs);
 
        while (1) {
+#ifdef CONFIG_SMP
+               /*
+                * For UP, this is done in do_timer().  Weird, but
+                * fixing that would require updates to all
+                * platforms.
+                */
                update_process_times(user_mode(regs));
-
+#endif
                new_itm += local_cpu_data->itm_delta;
 
                if (smp_processor_id() == TIME_KEEPER_ID) {
@@ -190,20 +196,17 @@ ia64_init_itm (void)
                itc_ratio.den = 1;      /* avoid division by zero */
 
        itc_freq = (platform_base_freq*itc_ratio.num)/itc_ratio.den;
+       if (platform_base_drift != -1)
+               itc_drift = platform_base_drift*itc_ratio.num/itc_ratio.den;
+       else
+               itc_drift = -1;
 
        local_cpu_data->itm_delta = (itc_freq + HZ/2) / HZ;
        printk(KERN_DEBUG "CPU %d: base freq=%lu.%03luMHz, ITC ratio=%lu/%lu, "
-              "ITC freq=%lu.%03luMHz", smp_processor_id(),
+              "ITC freq=%lu.%03luMHz+/-%ldppm\n", smp_processor_id(),
               platform_base_freq / 1000000, (platform_base_freq / 1000) % 1000,
-              itc_ratio.num, itc_ratio.den, itc_freq / 1000000, (itc_freq / 1000) % 1000);
-
-       if (platform_base_drift != -1) {
-               itc_drift = platform_base_drift*itc_ratio.num/itc_ratio.den;
-               printk("+/-%ldppm\n", itc_drift);
-       } else {
-               itc_drift = -1;
-               printk("\n");
-       }
+              itc_ratio.num, itc_ratio.den, itc_freq / 1000000, (itc_freq / 1000) % 1000,
+              itc_drift);
 
        local_cpu_data->proc_freq = (platform_base_freq*proc_ratio.num)/proc_ratio.den;
        local_cpu_data->itc_freq = itc_freq;