[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <92d82044-66ee-602a-1f91-76851f34d88e@virtuozzo.com>
Date: Mon, 11 Sep 2017 12:24:10 +0300
From: Denis Plotnikov <dplotnikov@...tuozzo.com>
To: pbonzini@...hat.com, rkrcmar@...hat.com, kvm@...r.kernel.org,
john.stultz@...aro.org, tglx@...utronix.de
Cc: mingo@...hat.com, hpa@...or.com, linux-kernel@...r.kernel.org,
x86@...nel.org, rkagan@...tuozzo.com, den@...tuozzo.com
Subject: Re: [PATCH v5 0/6] KVM: x86: get rid of pvclock_gtod_copy
ping!
On 30.08.2017 18:23, Denis Plotnikov wrote:
> V5:
> It was decided to split the series
> "make L2's kvm-clock stable, get rid of pvclock_gtod_copy in KVM"
> into two parts to make the changes finer grained:
> 1. get rid of pvclock_gtod_copy in KVM
> 2. make L2's kvm-clock stable
> This V5 series implements the 1st part. This part gets rid
> of pvclock_gtod_copy by switching to use the timekeeper functionality
> being extended. This new scheme doesn't add any new notifiers and keeps
> using the existing one (see patch 6 description) which had been used by
> the pvclock_gtod_copy to keep track timekeeper data changes.
>
> The 2nd part is being discussed and is going to be sent later on.
>
> V4:
> * removed "is stable" function with vague definition of stability
> there is the only function which does time with cycle stamp getting
> * some variables renamed
> * some patches split into smaller once
> * atomic64_t usage is replaced with atomic_t
>
> V3:
> Changing the timekeeper interface for clocksource reading looks like
> an overkill to achive the goal of getting cycles stamp for KVM.
> Instead extend the timekeeping interface and add functions which provide
> necessary data: read clocksource with cycles stamp, check whether the
> clock source is stable.
>
> Use those functions and improve existing timekeeper functionality to
> replace pvclock_gtod_copy scheme in masterclock data calculation.
>
> V2:
> The main goal is to make L2 kvm-clock be stable when it's running over L1
> with stable kvm-clock.
>
> The patch series is for x86 architecture only. If the series is approved
> I'll do changes for other architectures but I don't have an ability to
> compile and check for every single on (help needed)
>
> The patch series do the following:
>
> * change timekeeper interface to get cycles stamp value from
> the timekeeper
> * get rid of pvclock copy in KVM by using the changed timekeeper
> interface: get time and cycles right from the timekeeper
> * make KVM recognize a stable kvm-clock as stable clocksource
> and use the KVM masterclock in this case, which means making
> L2 stable when running over stable L1 kvm-clock
>
> Denis Plotnikov (6):
> timekeeper: introduce extended clocksource reading callback
> timekeeper: introduce boot field in system_time_snapshot
> timekeeper: use the extended reading function on snapshot acquiring
> tsc: implement the extended tsc reading function
> KVM: x86: switch to masterclock update using timekeeper functionality
> KVM: x86: remove not used pvclock_gtod_copy
>
> arch/x86/include/asm/kvm_host.h | 2 +-
> arch/x86/kernel/tsc.c | 10 ++
> arch/x86/kvm/trace.h | 31 ++---
> arch/x86/kvm/x86.c | 245 +++++++++-------------------------------
> include/linux/clocksource.h | 11 +-
> include/linux/timekeeping.h | 5 +
> kernel/time/timekeeping.c | 17 ++-
> 7 files changed, 104 insertions(+), 217 deletions(-)
>
--
Best,
Denis
Powered by blists - more mailing lists