Subject: Re: [PATCH v19 7/7] ptp: arm/arm64: Enable ptp_kvm for arm/arm64

From: Marc Zyngier <[email-masked]>
Date: Tue, 11 May 2021 10:13:03 +0100

Hi Geert,

On 2021-05-11 10:07, Geert Uytterhoeven wrote:
> Hi Marc, Jianyong,
> 
> On Tue, Mar 30, 2021 at 4:56 PM Marc Zyngier <[email-masked]> wrote:
>> From: Jianyong Wu <[email-masked]>
>> 
>> Currently, there is no mechanism to keep time sync between guest and 
>> host
>> in arm/arm64 virtualization environment. Time in guest will drift 
>> compared
>> with host after boot up as they may both use third party time sources
>> to correct their time respectively. The time deviation will be in 
>> order
>> of milliseconds. But in some scenarios,like in cloud environment, we 
>> ask
>> for higher time precision.
>> 
>> kvm ptp clock, which chooses the host clock source as a reference
>> clock to sync time between guest and host, has been adopted by x86
>> which takes the time sync order from milliseconds to nanoseconds.
>> 
>> This patch enables kvm ptp clock for arm/arm64 and improves clock sync 
>> precision
>> significantly.
> 
>> --- a/drivers/ptp/Kconfig
>> +++ b/drivers/ptp/Kconfig
>> @@ -108,7 +108,7 @@ config PTP_1588_CLOCK_PCH
>>  config PTP_1588_CLOCK_KVM
>>         tristate "KVM virtual PTP clock"
>>         depends on PTP_1588_CLOCK
>> -       depends on KVM_GUEST && X86
>> +       depends on (KVM_GUEST && X86) || (HAVE_ARM_SMCCC_DISCOVERY && 
>> ARM_ARCH_TIMER)
> 
> Why does this not depend on KVM_GUEST on ARM?
> I.e. shouldn't the dependency be:
> 
>     KVM_GUEST && (X86 || (HAVE_ARM_SMCCC_DISCOVERY && ARM_ARCH_TIMER))
> 
> ?

arm/arm64 do not select KVM_GUEST. Any kernel can be used for a guest,
and KVM/arm64 doesn't know about this configuration symbol.

Thanks,

         M.
-- 
Jazz is not dead. It just smells funny...