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

From: Jianyong Wu (Arm Technology China)
Date: Wed Oct 09 2019 - 01:21:38 EST


Hi Paolo,

> -----Original Message-----
> From: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> Sent: Thursday, September 19, 2019 8:13 PM
> To: Marc Zyngier <maz@xxxxxxxxxx>; Jianyong Wu (Arm Technology China)
> <Jianyong.Wu@xxxxxxx>; 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 19/09/19 13:39, Marc Zyngier wrote:
> >> I don't think it's ugly but more important, using tk->tkr_mono.clock
> >> is incorrect. See how the x86 code hardcodes &kvm_clock, it's the
> >> same for ARM.
> > Not really. The guest kernel is free to use any clocksource it wishes.
>
> Understood, in fact it's the same on x86.
>
> However, for PTP to work, the cycles value returned by the clocksource must
> match the one returned by the hypercall. So for ARM
> get_device_system_crosststamp must receive the arch timer clocksource, so
> that it will return -ENODEV if the active clocksource is anything else.
>
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?

Thanks
Jianyong wu

> Paolo
>
> > In some cases, it is actually desirable (like these broken systems
> > that cannot use an in-kernel irqchip...). Maybe it is that on x86 the
> > guest only uses the kvm_clock, but that's a much harder sell on ARM.
> > The fact that ptp_kvm assumes that the clocksource is fixed doesn't
> > seem correct in that case.