Index: linux-2.6.7/arch/ia64/kernel/time.c
===================================================================
--- linux-2.6.7.orig/arch/ia64/kernel/time.c
+++ linux-2.6.7/arch/ia64/kernel/time.c
@@ -139,6 +139,14 @@
 		}
 		if (unlikely(read_seqretry(&xtime_lock, seq)))
 			continue;
+
+		/* If we are not using the ITC interpolator then the cmpxchg logic is not necessary
+		 * since other clocks provide monnotonic time that never goes backward.
+		 * There is no need to use last_nsec_offset with a real global clock.
+		 * cmpxchg will generate a scalability problem so skip it.
+		 */
+		if (time_interpolator!=&itc_interpolator) break;
+
 		/*
 		 * Ensure that for any pair of causally ordered gettimeofday() calls, time
 		 * never goes backwards (even when ITC on different CPUs are not perfectly