Index: linux-2.6.16-rc6/kernel/timer.c =================================================================== --- linux-2.6.16-rc6.orig/kernel/timer.c 2006-03-11 14:12:55.000000000 -0800 +++ linux-2.6.16-rc6/kernel/timer.c 2006-03-15 16:10:53.000000000 -0800 @@ -567,8 +567,8 @@ found: /* * Timekeeping variables */ -unsigned long tick_usec = TICK_USEC; /* USER_HZ period (usec) */ -unsigned long tick_nsec = TICK_NSEC; /* ACTHZ period (nsec) */ +unsigned long __read_mostly tick_usec = TICK_USEC; /* USER_HZ period (usec) */ +unsigned long __read_mostly tick_nsec = TICK_NSEC; /* ACTHZ period (nsec) */ /* * The current time @@ -584,7 +584,7 @@ struct timespec wall_to_monotonic __attr EXPORT_SYMBOL(xtime); /* Don't completely fail for HZ > 500. */ -int tickadj = 500/HZ ? : 1; /* microsecs */ +int __read_mostly tickadj = 500/HZ ? : 1; /* microsecs */ /* @@ -860,7 +860,7 @@ static unsigned long count_active_tasks( * * Requires xtime_lock to access. */ -unsigned long avenrun[3]; +unsigned long __read_mostly avenrun[3]; EXPORT_SYMBOL(avenrun); @@ -1354,8 +1354,8 @@ void __init init_timers(void) #ifdef CONFIG_TIME_INTERPOLATION -struct time_interpolator *time_interpolator; -static struct time_interpolator *time_interpolator_list; +struct time_interpolator * __read_mostly time_interpolator; +static struct time_interpolator * __read_mostly time_interpolator_list; static DEFINE_SPINLOCK(time_interpolator_lock); static inline u64 time_interpolator_get_cycles(unsigned int src)