[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1183971001.4254.3.camel@sli10-conroe.sh.intel.com>
Date: Mon, 09 Jul 2007 16:50:01 +0800
From: Shaohua Li <shaohua.li@...el.com>
To: Avi Kivity <avi@...ranet.com>
Cc: kvm-devel@...ts.sourceforge.net, Ingo Molnar <mingo@...e.hu>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH][RFC] kvm-scheduler integration
On Sun, 2007-07-08 at 20:58 +0800, Avi Kivity wrote:
> The only fly in the ointment is that it crashes quite soon. Haven't
> figured
> out why yet, but comments on the general direction would be welcome.
Attached patch seems help in my test. prepare_task_switch is called with
irq disabled.
> -static void vmx_vcpu_load(struct kvm_vcpu *vcpu)
> +static void vmx_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
> {
> u64 phys_addr = __pa(vcpu->vmcs);
> - int cpu;
> u64 tsc_this, delta;
>
> - cpu = get_cpu();
> -
> + WARN_ON(!preempt_count());
This and below change will break preempt disabled case. better remove
them.
> if (vcpu->cpu != cpu)
> vcpu_clear(vcpu);
>
> @@ -426,9 +432,9 @@ static void vmx_vcpu_load(struct kvm_vcpu *vcpu)
>
> static void vmx_vcpu_put(struct kvm_vcpu *vcpu)
> {
> + WARN_ON(!preempt_count());
> vmx_load_host_state(vcpu);
> kvm_put_guest_fpu(vcpu);
> - put_cpu();
> }
View attachment "dbg.patch" of type "text/x-patch" (780 bytes)
Powered by blists - more mailing lists