[EMAIL PROTECTED] wrote:
Hello again,

I attempted to install Windows XP(sp2) as a guest and it crashes with a blank window and "QEMU/KVM[Stopped]" in the title. The install starts fine with -no-kvm. Below is the output from /proc/version, /proc/cpuinfo and dmesg. I am using kvm-49. Also, the only way to get rid of qemu dmesg output: BUG: using smp_processor_id() in preemptible [00000001] code: qemu-system-x86/9551
caller is kvm_flush_remote_tlbs+0x6c/0x140 [kvm]
 [<c02602ed>] debug_smp_processor_id+0xad/0xb0
 [<f984e10c>] kvm_flush_remote_tlbs+0x6c/0x140 [kvm]

Does the attached patch help?

--
Any sufficiently difficult bug is indistinguishable from a feature.

diff --git a/kernel/external-module-compat.h b/kernel/external-module-compat.h
index 6fd0ef6..5d5fd60 100644
--- a/kernel/external-module-compat.h
+++ b/kernel/external-module-compat.h
@@ -464,15 +464,17 @@ static inline int kvm_smp_call_function_mask(cpumask_t mask,
 	cpumask_t allbutself;
 	int cpus;
 	int cpu;
+	int me;
 
+	me = get_cpu();
 	allbutself = cpu_online_map;
-	cpu_clear(smp_processor_id(), allbutself);
+	cpu_clear(me, allbutself);
 
 	cpus_and(mask, mask, allbutself);
 	cpus = cpus_weight(mask);
 
 	if (!cpus)
-		return 0;
+		goto out;
 
 	data.func = func;
 	data.info = info;
@@ -490,12 +492,14 @@ static inline int kvm_smp_call_function_mask(cpumask_t mask,
 	}
 
 	if (!wait)
-		return 0;
+		goto out;
 
 	while (atomic_read(&data.finished) != cpus) {
 		cpu_relax();
 		barrier();
 	}
+out:
+	put_cpu();
 	return 0;
 }
 
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to