X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fcris%2Farch-v10%2Fkernel%2Ftime.c;h=dc3dfe9b4a1aa64f09a8b35a3947d8b32e1346ec;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=298e86a01c01fe28b1e64fbecb6a508c029d542f;hpb=9bf4aaab3e101692164d49b7ca357651eb691cb6;p=linux-2.6.git diff --git a/arch/cris/arch-v10/kernel/time.c b/arch/cris/arch-v10/kernel/time.c index 298e86a01..dc3dfe9b4 100644 --- a/arch/cris/arch-v10/kernel/time.c +++ b/arch/cris/arch-v10/kernel/time.c @@ -1,4 +1,4 @@ -/* $Id: time.c,v 1.3 2004/06/01 05:38:42 starvik Exp $ +/* $Id: time.c,v 1.5 2004/09/29 06:12:46 starvik Exp $ * * linux/arch/cris/arch-v10/kernel/time.c * @@ -200,6 +200,8 @@ static long last_rtc_update = 0; //static unsigned short myjiff; /* used by our debug routine print_timestamp */ +extern void cris_do_profile(struct pt_regs *regs); + static inline irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) { @@ -228,6 +230,8 @@ timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) do_timer(regs); + cris_do_profile(regs); /* Save profiling information */ + /* * If we have an externally synchronized Linux clock, then update * CMOS clock accordingly every ~11 minutes. Set_rtc_mmss() has to be @@ -236,7 +240,7 @@ timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) * The division here is not time critical since it will run once in * 11 minutes */ - if ((time_status & STA_UNSYNC) == 0 && + if (ntp_synced() && xtime.tv_sec > last_rtc_update + 660 && (xtime.tv_nsec / 1000) >= 500000 - (tick_nsec / 1000) / 2 && (xtime.tv_nsec / 1000) <= 500000 + (tick_nsec / 1000) / 2) {