--- linux-2.5.67.clean/arch/ia64/kernel/smpboot.c 2003-04-22 13:58:09.000000000 -0600 +++ linux-2.5.67/arch/ia64/kernel/smpboot.c 2003-04-23 20:25:00.000000000 -0600 @@ -311,6 +311,15 @@ */ Dprintk("Going to syncup ITC with BP.\n"); ia64_sync_itc(0); + + /* + * Make sure we didn't sync the itc ahead of the next + * timer interrupt, if so, just reset it. + */ + if (time_after(ia64_get_itc(),local_cpu_data->itm_next)) { + Dprintk("oops, jumped a timer.\n"); + ia64_cpu_local_tick(); + } } /*