Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1310324 > unrolled thread

[PATCH 0/3] Enabling htimer support for CLOCK_MONOTONIC_RAW

Started byMarc Zyngier <marc.zyngier@arm.com>
First post2016-01-15 18:50 +0100
Last post2016-01-15 18:50 +0100
Articles 1 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/3] Enabling htimer support for CLOCK_MONOTONIC_RAW Marc Zyngier <marc.zyngier@arm.com> - 2016-01-15 18:50 +0100

#1310324 — [PATCH 0/3] Enabling htimer support for CLOCK_MONOTONIC_RAW

FromMarc Zyngier <marc.zyngier@arm.com>
Date2016-01-15 18:50 +0100
Subject[PATCH 0/3] Enabling htimer support for CLOCK_MONOTONIC_RAW
Message-ID<qRgFA-W7-21@gated-at.bofh.it>
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

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web