RE: [RFC PATCH v3 4/6] psci: Add hvc call service for ptp_kvm.

From: Jianyong Wu (Arm Technology China)
Date: Mon Oct 14 2019 - 01:50:43 EST


Hi Paolo,

> -----Original Message-----
> From: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> Sent: Wednesday, October 9, 2019 5:13 PM
> To: Jianyong Wu (Arm Technology China) <Jianyong.Wu@xxxxxxx>; Marc
> Zyngier <maz@xxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx; yangbo.lu@xxxxxxx;
> john.stultz@xxxxxxxxxx; tglx@xxxxxxxxxxxxx; sean.j.christopherson@xxxxxxxxx;
> richardcochran@xxxxxxxxx; Mark Rutland <Mark.Rutland@xxxxxxx>; Will
> Deacon <Will.Deacon@xxxxxxx>; Suzuki Poulose
> <Suzuki.Poulose@xxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; Steve Capper
> <Steve.Capper@xxxxxxx>; Kaly Xin (Arm Technology China)
> <Kaly.Xin@xxxxxxx>; Justin He (Arm Technology China)
> <Justin.He@xxxxxxx>; nd <nd@xxxxxxx>; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [RFC PATCH v3 4/6] psci: Add hvc call service for ptp_kvm.
>
> On 09/10/19 10:18, Jianyong Wu (Arm Technology China) wrote:
> > Hi Paolo,
> >
> >> -----Original Message-----
> >> From: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> >> Sent: Wednesday, October 9, 2019 2:36 PM
> >> To: Jianyong Wu (Arm Technology China) <Jianyong.Wu@xxxxxxx>; Marc
> >> Zyngier <maz@xxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx;
> yangbo.lu@xxxxxxx;
> >> john.stultz@xxxxxxxxxx; tglx@xxxxxxxxxxxxx;
> >> sean.j.christopherson@xxxxxxxxx; richardcochran@xxxxxxxxx; Mark
> >> Rutland <Mark.Rutland@xxxxxxx>; Will Deacon
> <Will.Deacon@xxxxxxx>;
> >> Suzuki Poulose <Suzuki.Poulose@xxxxxxx>
> >> Cc: linux-kernel@xxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; Steve Capper
> >> <Steve.Capper@xxxxxxx>; Kaly Xin (Arm Technology China)
> >> <Kaly.Xin@xxxxxxx>; Justin He (Arm Technology China)
> >> <Justin.He@xxxxxxx>; nd <nd@xxxxxxx>; linux-arm-
> >> kernel@xxxxxxxxxxxxxxxxxxx
> >> Subject: Re: [RFC PATCH v3 4/6] psci: Add hvc call service for ptp_kvm.
> >>
> >> On 09/10/19 07:21, Jianyong Wu (Arm Technology China) wrote:
> >>> As ptp_kvm clock has fixed to arm arch system counter in patch set
> >>> v4, we need check if the current clocksource is system counter when
> >>> return clock cycle in host, so a helper needed to return the current
> >>> clocksource. Could I add this helper in next patch set?
> >>
> >> You don't need a helper. You need to return the ARM arch counter
> >> clocksource in the struct system_counterval_t that you return.
> >> get_device_system_crosststamp will then check that the clocksource
> >> matches the active one.
> >
> > We must ensure both of the host and guest using the same clocksource.
> > get_device_system_crosststamp will check the clocksource of guest and
> > we also need check the clocksource in host, and struct type can't be
> transferred from host to guest using arm hypercall.
> > now we lack of a mechanism to check the current clocksource. I think this
> will be useful if we add one.
>
> Got it---yes, I think adding a struct clocksource to struct
> system_time_snapshot would make sense. Then the hypercall can just use
> ktime_get_snapshot and fail if the clocksource is not the ARM arch counter.
>
> John (Stultz), does that sound good to you? The context is that Jianyong
> would like to add a hypercall that returns a (cycles,
> nanoseconds) pair to the guest. On x86 we're relying on the vclock_mode
> field that is already there for the vDSO, but being able to just use
> ktime_get_snapshot would be much nicer.
>

Could I add struct clocksource to system_time_snapshot struct in next version of my patch set?

Jianyong Wu
Thanks

> Paolo