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

From: Tom Lendacky
Date: Mon Oct 30 2023 - 17:00:13 EST


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@xxxxxxx>
---
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@xxxxxxxxxxxxxxx/

Thanks,
Tom

return;
if (kvm_para_has_feature(KVM_FEATURE_CLOCKSOURCE2)) {