X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Falpha%2Fkernel%2Ftime.c;h=8226c5cd788ccb142c3676727fb06161cc5cc574;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=711124368640ba26e02b5b06b2392568d72cb16b;hpb=9bf4aaab3e101692164d49b7ca357651eb691cb6;p=linux-2.6.git diff --git a/arch/alpha/kernel/time.c b/arch/alpha/kernel/time.c index 711124368..8226c5cd7 100644 --- a/arch/alpha/kernel/time.c +++ b/arch/alpha/kernel/time.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -62,7 +63,7 @@ extern unsigned long wall_jiffies; /* kernel/timer.c */ static int set_rtc_mmss(unsigned long); -spinlock_t rtc_lock = SPIN_LOCK_UNLOCKED; +DEFINE_SPINLOCK(rtc_lock); #define TICK_SIZE (tick_nsec / 1000) @@ -118,8 +119,7 @@ irqreturn_t timer_interrupt(int irq, void *dev, struct pt_regs * regs) #ifndef CONFIG_SMP /* Not SMP, do kernel PC profiling here. */ - if (!user_mode(regs)) - alpha_do_profile(regs->pc); + profile_tick(CPU_PROFILING, regs); #endif write_seqlock(&xtime_lock); @@ -138,6 +138,9 @@ irqreturn_t timer_interrupt(int irq, void *dev, struct pt_regs * regs) while (nticks > 0) { do_timer(regs); +#ifndef CONFIG_SMP + update_process_times(user_mode(regs)); +#endif nticks--; } @@ -366,7 +369,7 @@ time_init(void) BCD_TO_BIN(year); } - /* PC-like is standard; used for year < 20 || year >= 70 */ + /* PC-like is standard; used for year >= 70 */ epoch = 1900; if (year < 20) epoch = 2000;