Re: Starting a VM reboots my machine

Andrea Arcangeli
2007-11-05T15:18:04Z

On Mon, Nov 05, 2007 at 04:25:00PM +0200, Avi Kivity wrote:
> This one's obviously correct, will apply...

thanks!

>> Signed-off-by: Andrea Arcangeli <andrea-l3A5Bk7waGM@public.gmane.org>
>>
>> index 9584d0f..95a3489 100644
>> --- a/drivers/kvm/svm.c
>> +++ b/drivers/kvm/svm.c
>> @@ -1459,11 +1459,6 @@ static void svm_vcpu_run(struct kvm_vcpu *vcpu,
>> struct kvm_run *kvm_run)
>> local_irq_enable();
>> - vcpu->guest_mode = 1;
>> - if (vcpu->requests)
>> - if (test_and_clear_bit(KVM_TLB_FLUSH, &vcpu->requests))
>> - svm_flush_tlb(vcpu);
>> -
>> asm volatile (
>> #ifdef CONFIG_X86_64
>> "push %%rbp; \n\t"
>>
>>
>
> Against which kvm is that? It isn't 2.6.24-rc, or kvm.git, or 2.6.23?

I use the bleeding edge for userland and kernel, so kvm.git with "make
sync".

> Anyway, removing guest tlb flushing won't be good for the guest.

Doesn't the common layer already take care of test_and_clearing that
bitflag and calling kvm_x86_ops->tlb_flush before kvm_x86_ops->run in
__vcpu_run? I thought it was an obsolete piece of code (besides it
doesn't compile anyway it would need to be changed KVM_REQ_TLB_FLUSH)
and it got re-introduced by mistake with a merging error in the last
commit.