diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2006-10-01 02:28:31 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-01 03:39:27 -0400 |
commit | 8ef386092d7c2891bd7acefb2a87f878f7e9a0d6 (patch) | |
tree | b149f0c63f9b9bb3f43e82097f1ae5972662288f /arch/ppc/kernel/time.c | |
parent | 70bc42f90a3f4721c89dbe865e6c95da8565b41c (diff) |
[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>
Diffstat (limited to 'arch/ppc/kernel/time.c')
-rw-r--r-- | arch/ppc/kernel/time.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/arch/ppc/kernel/time.c b/arch/ppc/kernel/time.c index 1e1f31554767..187388625a76 100644 --- a/arch/ppc/kernel/time.c +++ b/arch/ppc/kernel/time.c | |||
@@ -80,8 +80,6 @@ unsigned tb_to_us; | |||
80 | unsigned tb_last_stamp; | 80 | unsigned tb_last_stamp; |
81 | unsigned long tb_to_ns_scale; | 81 | unsigned long tb_to_ns_scale; |
82 | 82 | ||
83 | extern unsigned long wall_jiffies; | ||
84 | |||
85 | /* used for timezone offset */ | 83 | /* used for timezone offset */ |
86 | static long timezone_offset; | 84 | static long timezone_offset; |
87 | 85 | ||
@@ -173,8 +171,7 @@ void timer_interrupt(struct pt_regs * regs) | |||
173 | */ | 171 | */ |
174 | if ( ppc_md.set_rtc_time && ntp_synced() && | 172 | if ( ppc_md.set_rtc_time && ntp_synced() && |
175 | xtime.tv_sec - last_rtc_update >= 659 && | 173 | xtime.tv_sec - last_rtc_update >= 659 && |
176 | abs((xtime.tv_nsec / 1000) - (1000000-1000000/HZ)) < 500000/HZ && | 174 | abs((xtime.tv_nsec / 1000) - (1000000-1000000/HZ)) < 500000/HZ) { |
177 | jiffies - wall_jiffies == 1) { | ||
178 | if (ppc_md.set_rtc_time(xtime.tv_sec+1 + timezone_offset) == 0) | 175 | if (ppc_md.set_rtc_time(xtime.tv_sec+1 + timezone_offset) == 0) |
179 | last_rtc_update = xtime.tv_sec+1; | 176 | last_rtc_update = xtime.tv_sec+1; |
180 | else | 177 | else |
@@ -200,7 +197,7 @@ void do_gettimeofday(struct timeval *tv) | |||
200 | { | 197 | { |
201 | unsigned long flags; | 198 | unsigned long flags; |
202 | unsigned long seq; | 199 | unsigned long seq; |
203 | unsigned delta, lost_ticks, usec, sec; | 200 | unsigned delta, usec, sec; |
204 | 201 | ||
205 | do { | 202 | do { |
206 | seq = read_seqbegin_irqsave(&xtime_lock, flags); | 203 | seq = read_seqbegin_irqsave(&xtime_lock, flags); |
@@ -214,10 +211,9 @@ void do_gettimeofday(struct timeval *tv) | |||
214 | if (!smp_tb_synchronized) | 211 | if (!smp_tb_synchronized) |
215 | delta = 0; | 212 | delta = 0; |
216 | #endif /* CONFIG_SMP */ | 213 | #endif /* CONFIG_SMP */ |
217 | lost_ticks = jiffies - wall_jiffies; | ||
218 | } while (read_seqretry_irqrestore(&xtime_lock, seq, flags)); | 214 | } while (read_seqretry_irqrestore(&xtime_lock, seq, flags)); |
219 | 215 | ||
220 | usec += mulhwu(tb_to_us, tb_ticks_per_jiffy * lost_ticks + delta); | 216 | usec += mulhwu(tb_to_us, delta); |
221 | while (usec >= 1000000) { | 217 | while (usec >= 1000000) { |
222 | sec++; | 218 | sec++; |
223 | usec -= 1000000; | 219 | usec -= 1000000; |
@@ -258,7 +254,6 @@ int do_settimeofday(struct timespec *tv) | |||
258 | * still reasonable when gettimeofday resolution is 1 jiffy. | 254 | * still reasonable when gettimeofday resolution is 1 jiffy. |
259 | */ | 255 | */ |
260 | tb_delta = tb_ticks_since(last_jiffy_stamp(smp_processor_id())); | 256 | tb_delta = tb_ticks_since(last_jiffy_stamp(smp_processor_id())); |
261 | tb_delta += (jiffies - wall_jiffies) * tb_ticks_per_jiffy; | ||
262 | 257 | ||
263 | new_nsec -= 1000 * mulhwu(tb_to_us, tb_delta); | 258 | new_nsec -= 1000 * mulhwu(tb_to_us, tb_delta); |
264 | 259 | ||