lkml.org 
[lkml]   [2006]   [Feb]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectwhy do we have wall_jiffies?
In kernel/timer.c we currently have jiffies_64, of which jiffies is
the least-significant long-sized piece, and wall_jiffies. The code
that updates them looks like this (from kernel/timer.c):

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);
}

/*
* The 64-bit jiffies value is not atomic - you MUST NOT read it
* without sampling the sequence number in xtime_lock.
* jiffies is defined in the linker script...
*/

void do_timer(struct pt_regs *regs)
{
jiffies_64++;
update_times();
softlockup_tick(regs);
}

In other places there is code that uses (jiffies - wall_jiffies).
However I can't see any way that jiffies and wall_jiffies could ever
be different (except for a few nanoseconds while executing the code
above). I also can't see any way that `ticks' could ever be anything
other than 1.

Is the wall_jiffies stuff just a leftover from days when we used to do
timekeeping from a softirq? Or am I missing something fundamental?

Thanks,
Paul.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-02-17 07:00    [W:0.051 / U:0.876 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site