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