From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: linux-kernel@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
"Alex.Zeffertt" <Alex.Zeffertt@citrix.com>,
stable@kernel.org
Subject: Re: [PATCH] clockevent: on resume program the next oneshot tick with the next actual event
Date: Wed, 25 Mar 2009 10:19:06 -0700 [thread overview]
Message-ID: <49CA678A.30606@goop.org> (raw)
In-Reply-To: <1237988429-26474-1-git-send-email-Ian.Campbell@citrix.com>
Ian Campbell wrote:
> When resuming a Xen domU we were seeing an issue where the timer ticks never
> seemed to start up again. This was with CONFIG_NO_HZ=y, the Xen clocksource
> has CLOCK_EVT_FEAT_ONESHOT but not CLOCK_EVT_FEAT_PERIODIC.
>
> The issue is that on resume tick_resume_oneshot() tries to program an event for
> "now", e.g.
> tick_program_event(ktime_get(), 1);
>
> However further down the call chain tick_dev_program_event() then compares that
>
Where's that? Do you mean in clockevents_program_event():
delta = ktime_to_ns(ktime_sub(expires, now));
if (delta <= 0)
return -ETIME;
?
> expiry time with a second call to ktime_get() and discards the event if the
> timeout is negative -- which it always will be since some time must have passed
> since tick_program_event was called.
>
> Instead of asking for an immediate event on resume, instead ask for the next
> actual event.
>
What if the next event is now anyway? What timebase is it in anyway?
> With this fix I can successfully resume a Xen domain.
>
That's good, but I think there's more going on here.
J
next prev parent reply other threads:[~2009-03-25 17:19 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-25 13:40 [PATCH] clockevent: on resume program the next oneshot tick with the next actual event Ian Campbell
2009-03-25 17:19 ` Jeremy Fitzhardinge [this message]
2009-03-25 17:46 ` Ian Campbell
2009-03-25 23:40 ` Jeremy Fitzhardinge
2009-03-26 13:37 ` Ian Campbell
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=49CA678A.30606@goop.org \
--to=jeremy@goop.org \
--cc=Alex.Zeffertt@citrix.com \
--cc=Ian.Campbell@citrix.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=stable@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.