From: John Stultz <john.stultz@linaro.org>
To: Andreas Schwab <schwab@linux-m68k.org>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Richard Cochran <richardcochran@gmail.com>,
Prarit Bhargava <prarit@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 4/8] time: Condense timekeeper.xtime into xtime_sec
Date: Mon, 20 Aug 2012 20:38:02 -0700 [thread overview]
Message-ID: <5033029A.2030201@linaro.org> (raw)
In-Reply-To: <m2boi549ed.fsf@igel.home>
On 08/20/2012 01:04 PM, Andreas Schwab wrote:
> John Stultz <john.stultz@linaro.org> writes:
>
>> Huh. Yea, that looks fine. And without the
>> __timekeeping_inject_sleeptime() call, the system resumed ok?
> Yes, it does.
So I'm mostly still stumped on this. But I did find one possible related
bugfix that maybe you can try?
Let me know if the patch below dodges the problem, and if not, please
send me the JDB printk output.
(if the resume hangs without any output, add a "return;" before the
tk_xtime_add() call between the JDB printks).
thanks
-john
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index e16af19..1a9b9c5 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -115,6 +115,7 @@ static void tk_xtime_add(struct timekeeper *tk, const struct timespec *ts)
{
tk->xtime_sec += ts->tv_sec;
tk->xtime_nsec += (u64)ts->tv_nsec << tk->shift;
+ tk_normalize_xtime(tk);
}
static void tk_set_wall_to_mono(struct timekeeper *tk, struct timespec wtm)
@@ -695,9 +696,22 @@ static void __timekeeping_inject_sleeptime(struct timekeeper *tk,
"sleep delta value!\n");
return;
}
+
+ printk("JDB: pre xt %ld:%ld wtm: %ld:%ld st: %ld:%ld\n",
+ tk_xtime(tk).tv_sec, tk_xtime(tk).tv_nsec,
+ tk->wall_to_monotonic.tv_sec,tk->wall_to_monotonic.tv_nsec,
+ tk->total_sleep_time.tv_sec, tk->total_sleep_time.tv_nsec);
+ printk("JDB: Adding %ld:%ld\n", delta->tv_sec, delta->tv_nsec);
+
tk_xtime_add(tk, delta);
tk_set_wall_to_mono(tk, timespec_sub(tk->wall_to_monotonic, *delta));
tk_set_sleep_time(tk, timespec_add(tk->total_sleep_time, *delta));
+
+ printk("JDB: post xt %ld:%ld wtm: %ld:%ld st: %ld:%ld\n",
+ tk_xtime(tk).tv_sec, tk_xtime(tk).tv_nsec,
+ tk->wall_to_monotonic.tv_sec,tk->wall_to_monotonic.tv_nsec,
+ tk->total_sleep_time.tv_sec, tk->total_sleep_time.tv_nsec);
+
}
/**
next prev parent reply other threads:[~2012-08-21 3:38 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-13 5:21 [PATCH 0/8] Time fixes and cleanups for 3.6 John Stultz
2012-07-13 5:21 ` [PATCH 1/8] ntp: Fix STA_INS/DEL clearing bug John Stultz
2012-07-13 5:58 ` Ingo Molnar
2012-07-13 18:36 ` John Stultz
2012-07-15 7:57 ` [tip:timers/urgent] " tip-bot for John Stultz
2012-07-13 5:21 ` [PATCH 2/8] time: Whitespace cleanups per Ingo's requests John Stultz
2012-07-15 8:56 ` [tip:timers/core] time: Whitespace cleanups per Ingo%27s requests tip-bot for John Stultz
2012-07-13 5:21 ` [PATCH 3/8] time: Explicitly use u32 instead of int for shift values John Stultz
2012-07-15 8:57 ` [tip:timers/core] " tip-bot for John Stultz
2012-07-13 5:21 ` [PATCH 4/8] time: Condense timekeeper.xtime into xtime_sec John Stultz
2012-07-13 6:00 ` Ingo Molnar
2012-07-15 8:57 ` [tip:timers/core] " tip-bot for John Stultz
2012-08-19 21:02 ` [PATCH 4/8] " Andreas Schwab
2012-08-20 18:58 ` John Stultz
2012-08-20 19:45 ` Andreas Schwab
2012-08-20 19:57 ` John Stultz
2012-08-20 20:04 ` Andreas Schwab
2012-08-21 3:38 ` John Stultz [this message]
2012-08-21 7:14 ` Andreas Schwab
2012-08-21 18:14 ` John Stultz
2012-07-13 5:21 ` [PATCH 5/8] time: Refactor accumulation of nsecs to secs John Stultz
2012-07-13 5:56 ` Ingo Molnar
2012-07-13 6:01 ` Ingo Molnar
2012-07-15 8:58 ` [tip:timers/core] " tip-bot for John Stultz
2012-07-13 5:21 ` [PATCH 6/8] time: Move arch_gettimeoffset() usage into timekeeping_get_ns() John Stultz
2012-07-13 6:03 ` Ingo Molnar
2012-07-15 8:59 ` [tip:timers/core] " tip-bot for John Stultz
2012-07-13 5:21 ` [PATCH 7/8] time: Move xtime_nsec adjustment underflow handling timekeeping_adjust John Stultz
2012-07-13 6:04 ` Ingo Molnar
2012-07-15 9:00 ` [tip:timers/core] " tip-bot for John Stultz
2012-07-13 5:21 ` [PATCH 8/8] time: Rework timekeeping functions to take timekeeper ptr as argument John Stultz
2012-07-15 9:01 ` [tip:timers/core] " tip-bot for John Stultz
2012-07-13 6:05 ` [PATCH 0/8] Time fixes and cleanups for 3.6 Ingo Molnar
2012-07-13 20:49 ` John Stultz
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=5033029A.2030201@linaro.org \
--to=john.stultz@linaro.org \
--cc=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mingo@kernel.org \
--cc=prarit@redhat.com \
--cc=richardcochran@gmail.com \
--cc=schwab@linux-m68k.org \
--cc=tglx@linutronix.de \
/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;
as well as URLs for NNTP newsgroup(s).