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


Groups > linux.kernel > #1310324

[PATCH 0/3] Enabling htimer support for CLOCK_MONOTONIC_RAW

From Marc Zyngier <marc.zyngier@arm.com>
Newsgroups linux.kernel
Subject [PATCH 0/3] Enabling htimer support for CLOCK_MONOTONIC_RAW
Date 2016-01-15 18:50 +0100
Message-ID <qRgFA-W7-21@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View 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

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

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

csiph-web