Re: [PATCH 0/3] Nested TSC handling

Matt McGill
2011-08-02T19:55:01Z

Thanks Bandan and Nadav,

I can confirm that these patches clear up the nVMX hang bug on my end. I don't have any AMD hardware on-hand to test the SVM change, unfortunately.

Thanks for all the work on this!

-Matt McGill

On Aug 2, 2011, at 3:24 PM, Bandan Das wrote:

> On 0, Nadav Har'El <nyh@il.ibm.com> wrote:
>> The following are patches I propose for fixing the bug discovered by Bandan
>> Das and discussed in the "Nested VMX - L1 hangs on running L2" thread.
>>
>> The first patch should fix the originally-reported bug, as explained in the
>> aforementioned thread: A new x86_op read_l1_tsc() is called L1's TSC is
>> needed, instead of assuming that calling kvm_read_msr() will do that
>> (because this has to return L2's TSC when a nested guest is running).
>>
>> The second and third patches fix relatively-unimportant corner cases in
>> nested VMX and nested SVM TSC handling.
>>
>> I'd appreciate it if the people who noticed this bug can verify that these
>> patches indeed solve it for them.
> I can verify that these patches work for me. Thanks Nadav and others for looking
> into this!
>
> I have cc'ed Jan and Matt in case they would be interested in trying out
> these patches.
>
>
>> Patch statistics:
>> -----------------
>>
>> arch/x86/include/asm/kvm_host.h | 2 +
>> arch/x86/kvm/svm.c | 13 ++++++--
>> arch/x86/kvm/vmx.c | 48 +++++++++++++++++++++++-------
>> arch/x86/kvm/x86.c | 8 ++---
>> 4 files changed, 54 insertions(+), 17 deletions(-)
>>
>> --
>> Nadav Har'El
>> IBM Haifa Research Lab
>