linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: <linux-kernel@vger.kernel.org>, Tomasz Nowicki <tn@semihalf.com>,
	Christoffer Dall <christoffer.dall@linaro.org>
Subject: [PATCH 0/3] Enabling htimer support for CLOCK_MONOTONIC_RAW
Date: Fri, 15 Jan 2016 17:41:07 +0000	[thread overview]
Message-ID: <1452879670-16133-1-git-send-email-marc.zyngier@arm.com> (raw)

In some (admitedly rare) cases, a kernel subsystem wants to obtain a
timer that is not affected by NTP whatsoever. An example of this is
the KVM/ARM timer, which uses a hrtimer to back a vcpu timer when the
vcpu is not running. If we let this backup timer being corrected by
NTP, the guest ends up being woken up at the wrong time, and confusion
follows.

This series adds a new hrtimer base (HRTIMER_BASE_MONOTONIC_RAW),
which gets used when CLOCK_MONOTONIC_RAW is passed to hrtimer_init,
making its behaviour very similar to that of the posix timers.

It also adds a new check for illegal values passed to hrtimer_init (it
seems way too easy to confuse the hrtimer code by giving it a posix
timer clockid). The last patch simply switches the KVM/ARM timer to
CLOCK_MONOTONIC_RAW.

Please note that I only have a limited understanding of how the
hrtimer subsystem actually works, so I'd appreciate any comment on how
this could otherwise be done.

It has been (very lightly) tested on arm64.

Marc Zyngier (3):
  hrtimer: Add support for CLOCK_MONOTONIC_RAW
  hrtimer: Catch illegal clockids
  KVM: arm/arm64: timer: Switch to CLOCK_MONOTONIC_RAW

 include/linux/hrtimer.h   |  1 +
 kernel/time/hrtimer.c     | 18 ++++++++++++++++--
 virt/kvm/arm/arch_timer.c |  4 ++--
 3 files changed, 19 insertions(+), 4 deletions(-)

-- 
2.1.4

             reply	other threads:[~2016-01-15 17:41 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-15 17:41 Marc Zyngier [this message]
2016-01-15 17:41 ` [PATCH 1/3] hrtimer: Add support for CLOCK_MONOTONIC_RAW Marc Zyngier
2016-01-27 11:42   ` [tip:timers/core] " tip-bot for Marc Zyngier
2016-03-02 11:30     ` Marc Zyngier
2016-03-03 10:27       ` [tip:timers/core] hrtimer: Revert CLOCK_MONOTONIC_RAW support tip-bot for Thomas Gleixner
2016-01-15 17:41 ` [PATCH 2/3] hrtimer: Catch illegal clockids Marc Zyngier
2016-01-27 11:43   ` [tip:timers/core] " tip-bot for Marc Zyngier
2017-02-18 10:01   ` [tip:timers/core] hrtimer: Catch invalid clockids again tip-bot for Marc Zyngier
2016-01-15 17:41 ` [PATCH 3/3] KVM: arm/arm64: timer: Switch to CLOCK_MONOTONIC_RAW Marc Zyngier
2016-01-27 11:43   ` [tip:timers/core] " tip-bot for Marc Zyngier

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=1452879670-16133-1-git-send-email-marc.zyngier@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=christoffer.dall@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tn@semihalf.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;
as well as URLs for NNTP newsgroup(s).