On Tue, 2004-02-17 at 22:58, David Mosberger wrote: > >>>>> On Tue, 17 Feb 2004 22:42:54 -0800, john stultz <johnstul@us.ibm.com> said: > John> Am I just missing something here? > > I don't think so. Good bug hunting. Some time ago SGI reported some > jumpiness but I never got a definite answer whether the problem had > been solved. > > You may want to run this by someone who actually understands the code > in timer.c but I'm pretty sure you're right. Sounds good, here is the patch then. Any further feed back would be appreciated. thanks -john In developing the ia64-cyclone patch, which implements a cyclone based time interpolator, I found the following bug which could cause time inconsistencies. In update_wall_time_one_tick(), which is called each timer interrupt, we call time_interpolator_update(delta_nsec) where delta_nsec is approximately NSEC_PER_SEC/HZ. This directly correlates with the changes to xtime which occurs in update_wall_time_one_tick(). However in update_wall_time(), on a second overflow, we again call time_interpolator_update(NSEC_PER_SEC). However while the components of xtime are being changed, the overall value of xtime does not (nsec is decremented NSEC_PER_SEC and sec is incremented). Thus this call to time_interpolator_update is incorrect. This patch removes the incorrect call to time_interpolator_update and was found to resolve the time inconsistencies I had seen while developing the ia64-cyclone patch. Please consider for inclusion into your tree. diff -Nru a/kernel/timer.c b/kernel/timer.c --- a/kernel/timer.c Wed Feb 18 12:04:03 2004 +++ b/kernel/timer.c Wed Feb 18 12:04:03 2004 @@ -677,7 +677,6 @@ if (xtime.tv_nsec >= 1000000000) { xtime.tv_nsec -= 1000000000; xtime.tv_sec++; - time_interpolator_update(NSEC_PER_SEC); second_overflow(); } } - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Wed Feb 18 15:35:27 2004
This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:22 EST