On Thu, May 6, 2021 at 3:34 AM <ilstam@xxxxxxxxxxx> wrote: > > From: Ilias Stamatis <ilstam@xxxxxxxxxx> > > KVM currently supports hardware-assisted TSC scaling but only for L1 and it > doesn't expose the feature to nested guests. This patch series adds support for > nested TSC scaling and allows both L1 and L2 to be scaled with different > scaling factors. > > When scaling and offsetting is applied, the TSC for the guest is calculated as: > > (TSC * multiplier >> 48) + offset > > With nested scaling the values in VMCS01 and VMCS12 need to be merged > together and stored in VMCS02. > > The VMCS02 values are calculated as follows: > > offset_02 = ((offset_01 * mult_12) >> 48) + offset_12 > mult_02 = (mult_01 * mult_12) >> 48 > > The last patch of the series adds a KVM selftest. Will you be doing the same for SVM? The last time I tried to add a nested virtualization feature for Intel only, Paolo rapped my knuckles with a ruler.