vserver 2.0 rc7
[linux-2.6.git] / arch / ppc / kernel / time.c
index 60e7ef5..7358665 100644 (file)
@@ -89,9 +89,7 @@ unsigned long tb_to_ns_scale;
 
 extern unsigned long wall_jiffies;
 
-static long time_offset;
-
-spinlock_t rtc_lock = SPIN_LOCK_UNLOCKED;
+DEFINE_SPINLOCK(rtc_lock);
 
 EXPORT_SYMBOL(rtc_lock);
 
@@ -142,6 +140,7 @@ void timer_interrupt(struct pt_regs * regs)
                jiffy_stamp += tb_ticks_per_jiffy;
                
                profile_tick(CPU_PROFILING, regs);
+               update_process_times(user_mode(regs));
 
                if (smp_processor_id())
                        continue;
@@ -183,10 +182,6 @@ void timer_interrupt(struct pt_regs * regs)
                set_dec(next_dec);
        last_jiffy_stamp(cpu) = jiffy_stamp;
 
-#ifdef CONFIG_SMP
-       smp_local_timer_interrupt(regs);
-#endif /* CONFIG_SMP */
-
        if (ppc_md.heartbeat && !ppc_md.heartbeat_count--)
                ppc_md.heartbeat();
 
@@ -275,7 +270,6 @@ int do_settimeofday(struct timespec *tv)
 
        time_adjust = 0;                /* stop active adjtime() */
        time_status |= STA_UNSYNC;
-       time_state = TIME_ERROR;        /* p. 24, (a) */
        time_maxerror = NTP_PHASE_LIMIT;
        time_esterror = NTP_PHASE_LIMIT;
        write_sequnlock_irqrestore(&xtime_lock, flags);