Messages in this thread Patch in this message | | | Date | Thu, 6 Dec 2012 22:03:34 +0800 | From | Dong Zhu <> | Subject | [PATCH] timekeeping: avoid adjust kernel time once hwclock kept in UTC time |
| |
From c126376cf1837b0956e0268056db61870fbbc1d4 Mon Sep 17 00:00:00 2001 From: Dong Zhu <bluezhudong@gmail.com> Date: Thu, 6 Dec 2012 21:45:00 +0800 Subject: [PATCH] timekeeping: avoid adjust kernel time once hwclock kept in UTC time
If the Hardware Clock kept in local time,kernel will adjust the time to be UTC time.But if Hardware Clock kept in UTC time,system will make a dummy settimeofday call first (sys_tz.tz_minuteswest = 0) to make sure the time is not shifted,so at this point I think maybe it is not necessary to set the kernel time once the sys_tz.tz_minuteswest is zero.
Signed-off-by: Dong Zhu <bluezhudong@gmail.com> --- kernel/time.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/kernel/time.c b/kernel/time.c index d226c6a..0b592ce 100644 --- a/kernel/time.c +++ b/kernel/time.c @@ -134,9 +134,11 @@ static inline void warp_clock(void) { struct timespec adjust; - adjust = current_kernel_time(); - adjust.tv_sec += sys_tz.tz_minuteswest * 60; - do_settimeofday(&adjust); + if (sys_tz.tz_minuteswest) { + adjust = current_kernel_time(); + adjust.tv_sec += sys_tz.tz_minuteswest * 60; + do_settimeofday(&adjust); + } } /* -- 1.7.11.7
-- Best Regards, Dong Zhu
| |