[PATCH] gettimeofday stability
From: Samuel Rydh <hidden>
Date: 2001-04-11 19:00:21
I'd like to suggest the following modification of do_gettimeofday(): ===== time.c 1.8 vs edited =====
--- 1.8/arch/ppc/kernel/time.c Mon Apr 2 03:36:42 2001
+++ edited/time.c Wed Apr 11 20:38:42 2001@@ -212,6 +212,10 @@ sec = xtime.tv_sec; usec = xtime.tv_usec; delta = tb_ticks_since(tb_last_stamp); + + if( (int)delta < 0 ) + delta = 0; + #ifdef CONFIG_SMP /* As long as timebases are not in sync, gettimeofday can only * have jiffy resolution on SMP.
Normally, delta should be strictly positive. However, if coherency between DEC and TB is lost, then delta might turn out to be (slightly) negative, which results in a bogus time stamp. The main reason why I want this modification is that MOL touches both DEC and TB. I've not managed to maintain exact coherency (appears to be more or less impossible). The fix above would guard against an occasional drift. /Samuel ---------------------------------------------------------- E-mail [off-list ref] WWW: <http://www.ibrium.se> Phone/fax: (home) +46 8 4418431, (work) +46 8 7908470 ---------------------------------------------------------- ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/