The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* why do we have wall_jiffies?
@ 2006-02-17  5:56 Paul Mackerras
  2006-02-17 18:46 ` john stultz
  0 siblings, 1 reply; 3+ messages in thread
From: Paul Mackerras @ 2006-02-17  5:56 UTC (permalink / raw)
  To: linux-kernel

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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-03-02 16:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-17  5:56 why do we have wall_jiffies? Paul Mackerras
2006-02-17 18:46 ` john stultz
2006-03-02 16:07   ` Atsushi Nemoto

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox