[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] correct implementation of flush_tlb_mask needed to reenable CONFIG_SMP



# HG changeset patch
# User djm@xxxxxxxxxxxxxxx
# Node ID 2869bdd16bd4ca4eb4e58625765c7fc0c1ee6841
# Parent  985228c22276c40153bcbf244c37c47723327138
correct implementation of flush_tlb_mask needed to reenable CONFIG_SMP
Signed-off-by: Tristan Gingold <tristan.gingold@xxxxxxxx>

diff -r 985228c22276 -r 2869bdd16bd4 xen/arch/ia64/linux-xen/smp.c
--- a/xen/arch/ia64/linux-xen/smp.c     Fri Jan 13 16:25:10 2006
+++ b/xen/arch/ia64/linux-xen/smp.c     Fri Jan 13 16:36:47 2006
@@ -57,8 +57,21 @@
 void flush_tlb_mask(cpumask_t mask)
 {
 #ifdef CONFIG_SMP
-    printf("flush_tlb_mask called, not implemented for SMP\n");
-       dummy();
+    int cpu;
+
+    cpu = smp_processor_id();
+    if (cpu_isset (cpu, mask)) {
+        cpu_clear(cpu, mask);
+       local_flush_tlb_all ();
+    }
+
+    if (cpus_empty(mask))
+        return;
+
+    for (cpu = 0; cpu < NR_CPUS; ++cpu)
+        if (cpu_isset(cpu, mask))
+          smp_call_function_single
+            (cpu, (void (*)(void *))local_flush_tlb_all, NULL, 1, 1);
 #endif
 }
 //#if CONFIG_SMP || IA64

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.