Re: [PATCH v4 00/10] make L2's kvm-clock stable, get rid of pvclock_gtod_copy in KVM

From: John Stultz
Date: Wed Aug 02 2017 - 12:49:55 EST

On Wed, Aug 2, 2017 at 7:38 AM, Denis Plotnikov
<dplotnikov@xxxxxxxxxxxxx> wrote:
> 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

So, from a brief skim, I'm not a big fan of this patchset. Though this
is likely in part due to that I haven't seen anything about *why*
these changes are needed.

Can you briefly explain the issue you're trying to solve, and why you
think this approach is the way to go?
(Its usually a good idea to have such rational included in the patchset)