Re: [PATCH v5 12/14] x86/kvmclock: Skip kvmclock when Secure TSC is available

Tom Lendacky
2023-10-30T21:00:10Z

On 10/30/23 01:36, Nikunj A Dadhania wrote:
> For AMD SNP guests having Secure TSC enabled, skip using the kvmclock.
> The guest kernel will fallback and use Secure TSC based clocksource.
>
> Signed-off-by: Nikunj A Dadhania <nikunj@amd.com>
> ---
> arch/x86/kernel/kvmclock.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c
> index fb8f52149be9..779e7311fa6f 100644
> --- a/arch/x86/kernel/kvmclock.c
> +++ b/arch/x86/kernel/kvmclock.c
> @@ -288,7 +288,7 @@ void __init kvmclock_init(void)
> {
> u8 flags;
>
> - if (!kvm_para_available() || !kvmclock)
> + if (!kvm_para_available() || !kvmclock || cc_platform_has(CC_ATTR_GUEST_SECURE_TSC))

And is setting X86_FEATURE_TSC_RELIABLE, as Dave Hansen suggests, enough
to prevent usage of kvmclock?

There was a discussion here:
https://lore.kernel.org/lkml/20230808162320.27297-1-kirill.shutemov@linux.intel.com/

Thanks,
Tom

> return;
>
> if (kvm_para_has_feature(KVM_FEATURE_CLOCKSOURCE2)) {