All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denis Plotnikov <dplotnikov@virtuozzo.com>
To: kvm@vger.kernel.org, rkrcmar@redhat.com, pbonzini@redhat.com
Cc: dplotnikov@virtuozzo.com, den@virtuozzo.com, rkagan@virtuozzo.com
Subject: [RFC PATCH 0/2] make L2 kvm-clock stable
Date: Wed, 28 Jun 2017 13:54:59 +0300	[thread overview]
Message-ID: <1498647301-130851-1-git-send-email-dplotnikov@virtuozzo.com> (raw)

The goal of the series is to make L2's kvm-clock guest stable when possible.

It's possible when the L2 is running over L1 with a stable paravirtualized
clocksource.

To acomplish the goal I can see two approaches:

1. Use currently existing in KVM "monotonic timekeeper shadow".

   This approach repeats functionality of time calculation from the kerenl
   monotonic timekeeper. To acomplish the goal it's needed to add time
   calculation functions for paravirtualized clocksources to KVM which
   implies repeating the functionality from the timekeeper.
   It seems to me that this approach is not the best one because of code 
   repetition, data shadowing, keeping logic consistent with timekeeper's one.
   I would consider using the next approach.

2. Use existing timekeeper functionality with extended interface

   This approach deligates all time related calculations to the kernel
   timekeeper instead of having timekeeper shadow and time calculating logic
   in KVM.
   Using this approach will allow to remove the monotonic timekeeping shadow,
   but ask to change timekeeper interface in a way that will add an ability
   to return the timestamp value used for time calculations (if any) because this 
   value is needed in KVM (and possibly somewhere else in the future).

This patch series implements the 2nd approach (for now, for x86 only).
Could you please give me some feedback about it?

Denis Plotnikov (2):
  timekeeper: change interface of clocksource reding functions
  KVM: x86: add support of kvm-clock stablity in L2

 arch/x86/hyperv/hv_init.c           |   4 +-
 arch/x86/include/asm/kvm_host.h     |   2 +-
 arch/x86/include/asm/pvclock.h      |   2 +-
 arch/x86/kernel/hpet.c              |   4 +-
 arch/x86/kernel/kvmclock.c          |  19 ++-
 arch/x86/kernel/pvclock.c           |  11 +-
 arch/x86/kernel/tsc.c               |   7 +-
 arch/x86/kvm/x86.c                  | 294 ++++++++++--------------------------
 arch/x86/lguest/boot.c              |   2 +-
 arch/x86/platform/uv/uv_time.c      |  10 +-
 arch/x86/xen/time.c                 |  21 ++-
 arch/x86/xen/xen-ops.h              |   2 +-
 drivers/clocksource/acpi_pm.c       |  12 +-
 drivers/hv/hv_util.c                |   6 +-
 include/linux/clocksource.h         |   9 +-
 include/linux/timekeeper_internal.h |   2 +-
 include/linux/timekeeping.h         |  34 ++++-
 kernel/time/clocksource.c           |   4 +-
 kernel/time/jiffies.c               |   2 +-
 kernel/time/timekeeping.c           |  66 +++++---
 20 files changed, 221 insertions(+), 292 deletions(-)

-- 
2.7.4

             reply	other threads:[~2017-06-28 11:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-28 10:54 Denis Plotnikov [this message]
2017-06-28 10:55 ` [RFC PATCH 1/2] timekeeper: change interface of clocksource reding functions Denis Plotnikov
2017-07-10 13:00   ` Radim Krčmář
2017-07-21 14:00     ` Denis Plotnikov
2017-06-28 10:55 ` [RFC PATCH 2/2] KVM: x86: add support of kvm-clock stablity in L2 Denis Plotnikov
2017-07-10 13:25   ` Radim Krčmář
2017-07-10 13:32     ` Radim Krčmář
2017-07-21 14:01       ` Denis Plotnikov
2017-07-03 16:12 ` [RFC PATCH 0/2] make L2 kvm-clock stable Denis Plotnikov
2017-07-03 16:27   ` Paolo Bonzini
2017-07-10  7:56   ` Denis Plotnikov

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=1498647301-130851-1-git-send-email-dplotnikov@virtuozzo.com \
    --to=dplotnikov@virtuozzo.com \
    --cc=den@virtuozzo.com \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=rkagan@virtuozzo.com \
    --cc=rkrcmar@redhat.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 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.