>>>>> On Thu, 02 Mar 2006 02:00:16 +1100, Nick Piggin <nickpiggin@xxxxxxxxxxxx> said: >> Well, do you mean it should be like this ? >> >> jiffies_64++; >> update_times(jiffies_64); nick> Yeah. It makes your patch a line smaller too! Another solution might be simplifying update_times() like this. It looks there is no point to calculate ticks in update_times(). diff --git a/kernel/timer.c b/kernel/timer.c index fe3a9a9..6188c99 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -906,14 +906,9 @@ void run_local_timers(void) */ static inline void update_times(void) { - unsigned long ticks; - - ticks = jiffies - wall_jiffies; - if (ticks) { - wall_jiffies += ticks; - update_wall_time(ticks); - } - calc_load(ticks); + wall_jiffies++; + update_wall_time(1); + calc_load(1); } /* As for long term solution, using an union for jiffies and jiffies_64 would be robust. But it affects so many codes ... --- Atsushi Nemoto