Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / arch / h8300 / kernel / time.c
index 87e2849..688a510 100644 (file)
 
 #define        TICK_SIZE (tick_nsec / 1000)
 
-u64 jiffies_64;
-
-EXPORT_SYMBOL(jiffies_64);
-
-static inline void do_profile (unsigned long pc)
-{
-       if (prof_buffer && current->pid) {
-               extern int _stext;
-               pc -= (unsigned long) &_stext;
-               pc >>= prof_shift;
-               if (pc < prof_len)
-                       ++prof_buffer[pc];
-               else
-               /*
-                * Don't ignore out-of-bounds PC values silently,
-                * put them into the last histogram slot, so if
-                * present, they will show up as a sharp peak.
-                */
-                       ++prof_buffer[prof_len-1];
-       }
-}
-
 /*
  * timer_interrupt() needs to keep up the real-time clock,
  * as well as call the "do_timer()" routine every clocktick
@@ -64,10 +42,10 @@ static void timer_interrupt(int irq, void *dummy, struct pt_regs * regs)
        platform_timer_eoi();
 
        do_timer(regs);
-
-       if (!user_mode(regs))
-               do_profile(regs->pc);
-
+#ifndef CONFIG_SMP
+       update_process_times(user_mode(regs));
+#endif
+       profile_tick(CPU_PROFILING, regs);
 }
 
 void time_init(void)
@@ -134,10 +112,7 @@ int do_settimeofday(struct timespec *tv)
 
        xtime.tv_sec = tv->tv_sec;
        xtime.tv_nsec = tv->tv_nsec;
-       time_adjust = 0;                /* stop active adjtime() */
-       time_status |= STA_UNSYNC;
-       time_maxerror = NTP_PHASE_LIMIT;
-       time_esterror = NTP_PHASE_LIMIT;
+       ntp_clear();
        write_sequnlock_irq(&xtime_lock);
        clock_was_set();
        return 0;