From: "Nikunj A. Dadhania" <nikunj@amd.com>
To: Borislav Petkov <bp@alien8.de>
Cc: linux-kernel@vger.kernel.org, thomas.lendacky@amd.com,
x86@kernel.org, kvm@vger.kernel.org, mingo@redhat.com,
tglx@linutronix.de, dave.hansen@linux.intel.com,
pgonda@google.com, seanjc@google.com, pbonzini@redhat.com,
francescolavra.fl@gmail.com,
Alexey Makhalov <alexey.makhalov@broadcom.com>,
Juergen Gross <jgross@suse.com>,
Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [PATCH v16 12/13] x86/tsc: Switch to native sched clock
Date: Wed, 8 Jan 2025 10:50:13 +0530 [thread overview]
Message-ID: <3acfbef7-8786-4033-ab99-a97e971f5bd9@amd.com> (raw)
In-Reply-To: <20250107193752.GHZ32CkNhBJkx45Ug4@fat_crate.local>
On 1/8/2025 1:07 AM, Borislav Petkov wrote:
> On Mon, Jan 06, 2025 at 06:16:32PM +0530, Nikunj A Dadhania wrote:
>> Although the kernel switches over to stable TSC clocksource instead of
>> PV clocksource, the scheduler still keeps on using PV clocks as the
>> sched clock source. This is because KVM, Xen and VMWare, switch the
>> paravirt sched clock handler in their init routines. HyperV is the
>> only PV clock source that checks if the platform provides an invariant
>> TSC and does not switch to PV sched clock.
>
> So this below looks like some desperate hackery. Are you doing this because
> kvm_sched_clock_init() does
>
> paravirt_set_sched_clock(kvm_sched_clock_read);
>
> ?
All guests(including STSC) running on KVM or other hypervisors like Xen/VMWare
uses the regular TSC when the guest is booted with TscInvariant bit set. But it
doesn't switch the sched clock to use TSC which it should have, pointed here[1]
by Sean:
No, I'm saying that the guest should prefer the raw TSC over kvmclock if the
TSC is stable, irrespective of SNP or TDX. This is effectively already done
for the timekeeping base (see commit 7539b174aef4 ("x86: kvmguest: use TSC
clocksource if invariant TSC is exposed")), but the scheduler still uses
kvmclock thanks to the kvm_sched_clock_init() code.
> If so, why don't you simply prevent that on STSC guests?
This is for all guests running on different hypervisor with stable TSC. And I
did try to limit this to KVM here [2], here is Sean's comment to that
implementation:
> Although the kernel switches over to stable TSC clocksource instead of
> kvmclock, the scheduler still keeps on using kvmclock as the sched clock.
> This is due to kvm_sched_clock_init() updating the pv_sched_clock()
> unconditionally.
All PV clocks are affected by this, no? This seems like something that
should be handled in common code, which is the point I was trying to make in
v11.
Regards
Nikunj
1. https://lore.kernel.org/kvm/ZurCbP7MesWXQbqZ@google.com/
2. https://lore.kernel.org/kvm/20241009092850.197575-17-nikunj@amd.com/
next prev parent reply other threads:[~2025-01-08 5:20 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-06 12:46 [PATCH v16 00/13] Add Secure TSC support for SNP guests Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 01/13] virt: sev-guest: Remove is_vmpck_empty() helper Nikunj A Dadhania
2025-01-07 18:38 ` Tom Lendacky
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 02/13] virt: sev-guest: Replace GFP_KERNEL_ACCOUNT with GFP_KERNEL Nikunj A Dadhania
2025-01-07 18:40 ` Tom Lendacky
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 03/13] x86/sev: Carve out and export SNP guest messaging init routines Nikunj A Dadhania
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 04/13] x86/sev: Relocate SNP guest messaging routines to common code Nikunj A Dadhania
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 05/13] x86/sev: Add Secure TSC support for SNP guests Nikunj A Dadhania
2025-01-07 10:42 ` Borislav Petkov
2025-01-07 11:43 ` Nikunj A. Dadhania
2025-01-07 12:37 ` Borislav Petkov
2025-01-07 18:53 ` Tom Lendacky
2025-01-07 19:18 ` Borislav Petkov
2025-01-08 7:47 ` Nikunj A. Dadhania
2025-01-08 8:05 ` Borislav Petkov
2025-01-08 8:37 ` Nikunj A. Dadhania
2025-01-08 8:43 ` Borislav Petkov
2025-01-07 19:46 ` Tom Lendacky
2025-01-07 19:53 ` Borislav Petkov
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 06/13] x86/sev: Change TSC MSR behavior for Secure TSC enabled guests Nikunj A Dadhania
2025-01-07 20:09 ` Tom Lendacky
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 07/13] x86/sev: Prevent GUEST_TSC_FREQ MSR interception " Nikunj A Dadhania
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 08/13] x86/sev: Prevent RDTSC/RDTSCP " Nikunj A Dadhania
2025-01-09 9:43 ` [tip: x86/sev] " tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 09/13] x86/sev: Mark Secure TSC as reliable clocksource Nikunj A Dadhania
2025-01-09 9:43 ` [tip: x86/sev] x86/sev: Mark the TSC in a secure TSC guest as reliable tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 10/13] x86/tsc: Switch Secure TSC guests away from kvm-clock Nikunj A Dadhania
2025-01-07 15:16 ` Borislav Petkov
2025-01-08 10:45 ` Nikunj A. Dadhania
2025-01-09 9:43 ` [tip: x86/sev] x86/tsc: Init the TSC for Secure TSC guests tip-bot2 for Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 11/13] x86/tsc: Upgrade TSC clocksource rating for guests Nikunj A Dadhania
2025-01-07 17:51 ` Borislav Petkov
2025-01-06 12:46 ` [PATCH v16 12/13] x86/tsc: Switch to native sched clock Nikunj A Dadhania
2025-01-07 19:37 ` Borislav Petkov
2025-01-08 5:20 ` Nikunj A. Dadhania [this message]
2025-01-08 8:22 ` Borislav Petkov
2025-01-08 8:34 ` Nikunj A. Dadhania
2025-01-08 10:20 ` Nikunj A. Dadhania
2025-01-08 14:00 ` Sean Christopherson
2025-01-08 15:34 ` Borislav Petkov
2025-01-08 17:02 ` Sean Christopherson
2025-01-08 19:53 ` Borislav Petkov
2025-01-09 6:32 ` Nikunj A. Dadhania
2025-01-15 21:37 ` Sean Christopherson
2025-01-16 16:25 ` Borislav Petkov
2025-01-16 16:56 ` Sean Christopherson
2025-01-17 20:28 ` Borislav Petkov
2025-01-17 20:59 ` Sean Christopherson
2025-01-21 11:32 ` Borislav Petkov
2025-01-21 3:59 ` Nikunj A. Dadhania
2025-01-28 5:41 ` Nikunj A Dadhania
2025-01-06 12:46 ` [PATCH v16 13/13] x86/sev: Allow Secure TSC feature for SNP guests Nikunj A Dadhania
2025-01-09 9:43 ` [tip: x86/sev] x86/sev: Add the " tip-bot2 for Nikunj A Dadhania
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3acfbef7-8786-4033-ab99-a97e971f5bd9@amd.com \
--to=nikunj@amd.com \
--cc=alexey.makhalov@broadcom.com \
--cc=boris.ostrovsky@oracle.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=francescolavra.fl@gmail.com \
--cc=jgross@suse.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=pgonda@google.com \
--cc=seanjc@google.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome