x86: add smp_mb() before sending INVALIDATE_TLB_VECTOR
[pandora-kernel.git] / arch / x86 / kernel / tlb_64.c
index 5039d0f..8f919ca 100644 (file)
@@ -182,6 +182,11 @@ void native_flush_tlb_others(const cpumask_t *cpumaskp, struct mm_struct *mm,
        f->flush_va = va;
        cpus_or(f->flush_cpumask, cpumask, f->flush_cpumask);
 
+       /*
+        * Make the above memory operations globally visible before
+        * sending the IPI.
+        */
+       smp_mb();
        /*
         * We have to send the IPI only to
         * CPUs affected.
@@ -275,5 +280,5 @@ static void do_flush_tlb_all(void *info)
 
 void flush_tlb_all(void)
 {
-       on_each_cpu(do_flush_tlb_all, NULL, 1, 1);
+       on_each_cpu(do_flush_tlb_all, NULL, 1);
 }