[PATCH] kill wall_jiffies
With 2.6.18-rc4-mm2, now wall_jiffies will always be the same as jiffies. So we can kill wall_jiffies completely. This is just a cleanup and logically should not change any real behavior except for one thing: RTC updating code in (old) ppc and xtensa use a condition "jiffies - wall_jiffies == 1". This condition is never met so I suppose it is just a bug. I just remove that condition only instead of kill the whole "if" block. [heiko.carstens@de.ibm.com: s390 build fix and cleanup] Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Cc: Andi Kleen <ak@muc.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Ian Molton <spyro@f2s.com> Cc: Mikael Starvik <starvik@axis.com> Cc: David Howells <dhowells@redhat.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Hirokazu Takata <takata.hirokazu@renesas.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp> Cc: Richard Curnow <rc@rc0.org.uk> Cc: William Lee Irwin III <wli@holomorphy.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jeff Dike <jdike@addtoit.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp> Cc: Chris Zankel <chris@zankel.net> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

parent
70bc42f90a
commit
8ef386092d
@@ -54,8 +54,6 @@
|
||||
#include "proto.h"
|
||||
#include "irq_impl.h"
|
||||
|
||||
extern unsigned long wall_jiffies; /* kernel/timer.c */
|
||||
|
||||
static int set_rtc_mmss(unsigned long);
|
||||
|
||||
DEFINE_SPINLOCK(rtc_lock);
|
||||
@@ -413,7 +411,7 @@ void
|
||||
do_gettimeofday(struct timeval *tv)
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned long sec, usec, lost, seq;
|
||||
unsigned long sec, usec, seq;
|
||||
unsigned long delta_cycles, delta_usec, partial_tick;
|
||||
|
||||
do {
|
||||
@@ -423,14 +421,13 @@ do_gettimeofday(struct timeval *tv)
|
||||
sec = xtime.tv_sec;
|
||||
usec = (xtime.tv_nsec / 1000);
|
||||
partial_tick = state.partial_tick;
|
||||
lost = jiffies - wall_jiffies;
|
||||
|
||||
} while (read_seqretry_irqrestore(&xtime_lock, seq, flags));
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
/* Until and unless we figure out how to get cpu cycle counters
|
||||
in sync and keep them there, we can't use the rpcc tricks. */
|
||||
delta_usec = lost * (1000000 / HZ);
|
||||
delta_usec = 0;
|
||||
#else
|
||||
/*
|
||||
* usec = cycles * ticks_per_cycle * 2**48 * 1e6 / (2**48 * ticks)
|
||||
@@ -446,8 +443,7 @@ do_gettimeofday(struct timeval *tv)
|
||||
*/
|
||||
|
||||
delta_usec = (delta_cycles * state.scaled_ticks_per_cycle
|
||||
+ partial_tick
|
||||
+ (lost << FIX_SHIFT)) * 15625;
|
||||
+ partial_tick) * 15625;
|
||||
delta_usec = ((delta_usec / ((1UL << (FIX_SHIFT-6-1)) * HZ)) + 1) / 2;
|
||||
#endif
|
||||
|
||||
@@ -480,12 +476,11 @@ do_settimeofday(struct timespec *tv)
|
||||
time. Without this, a full-tick error is possible. */
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
delta_nsec = (jiffies - wall_jiffies) * (NSEC_PER_SEC / HZ);
|
||||
delta_nsec = 0;
|
||||
#else
|
||||
delta_nsec = rpcc() - state.last_time;
|
||||
delta_nsec = (delta_nsec * state.scaled_ticks_per_cycle
|
||||
+ state.partial_tick
|
||||
+ ((jiffies - wall_jiffies) << FIX_SHIFT)) * 15625;
|
||||
+ state.partial_tick) * 15625;
|
||||
delta_nsec = ((delta_nsec / ((1UL << (FIX_SHIFT-6-1)) * HZ)) + 1) / 2;
|
||||
delta_nsec *= 1000;
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user