From: Nigel Cunningham <ncunningham@linuxmail.org>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: Pavel Machek <pavel@ucw.cz>, John Stultz <johnstul@us.ibm.com>,
David Shaohua <shaohua.li@intel.com>
Subject: Patch 1/3: Reduce number of get_cmos_time_calls.
Date: Sat, 08 Jan 2005 20:42:10 +1100 [thread overview]
Message-ID: <1105177073.5478.33.camel@desktop.cunninghams> (raw)
In-Reply-To: <1105176732.5478.20.camel@desktop.cunninghams>
Reduce the number of calls to get_cmos_time. Since get_cmos_time waits
for the start of a new second, two consecutive calls add one full second
to the time to suspend/resume.
Signed-off-by: Nigel Cunningham <ncunningham@linuxmail.org>
diff -ruNp 911-old/arch/i386/kernel/time.c 911-new/arch/i386/kernel/time.c
--- 911-old/arch/i386/kernel/time.c 2005-01-08 19:36:46.107382632 +1100
+++ 911-new/arch/i386/kernel/time.c 2005-01-08 19:36:25.439524624 +1100
@@ -326,9 +326,11 @@ static int timer_suspend(struct sys_devi
/*
* Estimate time zone so that set_time can update the clock
*/
- clock_cmos_diff = -get_cmos_time();
+ long cmos_time = get_cmos_time();
+
+ clock_cmos_diff = -cmos_time;
clock_cmos_diff += get_seconds();
- sleep_start = get_cmos_time();
+ sleep_start = cmos_time;
return 0;
}
@@ -337,13 +339,15 @@ static int timer_resume(struct sys_devic
unsigned long flags;
unsigned long sec;
unsigned long sleep_length;
+ unsigned long cmos_time;
#ifdef CONFIG_HPET_TIMER
if (is_hpet_enabled())
hpet_reenable();
#endif
- sec = get_cmos_time() + clock_cmos_diff;
- sleep_length = (get_cmos_time() - sleep_start) * HZ;
+ cmos_time = get_cmos_time();
+ sec = cmos_time + clock_cmos_diff;
+ sleep_length = (cmos_time - sleep_start) * HZ;
write_seqlock_irqsave(&xtime_lock, flags);
xtime.tv_sec = sec;
xtime.tv_nsec = 0;
next prev parent reply other threads:[~2005-01-08 9:48 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-08 9:42 [RFC] Patches to reduce delay in arch/kernel/time.c Nigel Cunningham
2005-01-08 9:42 ` Nigel Cunningham [this message]
2005-01-08 13:21 ` Patch 1/3: Reduce number of get_cmos_time_calls Pavel Machek
2005-01-08 9:42 ` Patch 2/3: " Nigel Cunningham
2005-01-08 13:22 ` Pavel Machek
2005-01-08 9:42 ` Patch 3/3: " Nigel Cunningham
2005-01-08 13:27 ` Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1105177073.5478.33.camel@desktop.cunninghams \
--to=ncunningham@linuxmail.org \
--cc=johnstul@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=shaohua.li@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome