Re: Should SEV-ES #VC use IST? (Re: [PATCH] Allow RDTSC and RDTSCP from userspace)
From: Peter Zijlstra <peterz@infradead.org>
Date: 2020-06-23 11:50:52
Also in:
kvm, lkml
From: Peter Zijlstra <peterz@infradead.org>
Date: 2020-06-23 11:50:52
Also in:
kvm, lkml
On Tue, Jun 23, 2020 at 01:43:24PM +0200, Joerg Roedel wrote:
On Tue, Jun 23, 2020 at 01:14:43PM +0200, Peter Zijlstra wrote:quoted
On Tue, Jun 23, 2020 at 01:11:07PM +0200, Joerg Roedel wrote:quoted
quoted
The v3 patchset implements an unconditional shift of the #VC IST entry in the NMI handler, before it can trigger a #VC exception.Going by that other thread -- where you said that any memory access can trigger a #VC, there just isn't such a guarantee.As I wrote in the other mail, this can only happen when SNP gets enabled (which is follow-on work to this) and is handled by a stack recursion check in the #VC handler. The reason I mentioned the #VC-anywhere case is to make it more clear why #VC needs an IST handler.
If SNP is the sole reason #VC needs to be IST, then I'd strongly urge you to only make it IST if/when you try and make SNP happen, not before.