patch-2.4.21 linux-2.4.21/arch/ia64/kernel/smp.c
Next file: linux-2.4.21/arch/ia64/kernel/smpboot.c
Previous file: linux-2.4.21/arch/ia64/kernel/signal.c
Back to the patch index
Back to the overall index
- Lines: 23
- Date:
2003-06-13 07:51:29.000000000 -0700
- Orig file:
linux-2.4.20/arch/ia64/kernel/smp.c
- Orig date:
2002-11-28 15:53:09.000000000 -0800
diff -urN linux-2.4.20/arch/ia64/kernel/smp.c linux-2.4.21/arch/ia64/kernel/smp.c
@@ -188,8 +188,20 @@
void
smp_flush_tlb_all (void)
{
- smp_call_function ((void (*)(void *))__flush_tlb_all,0,1,1);
- __flush_tlb_all();
+ smp_call_function((void (*)(void *))local_flush_tlb_all, 0, 1, 1);
+ local_flush_tlb_all();
+}
+
+void
+smp_flush_tlb_mm (struct mm_struct *mm)
+{
+ local_flush_tlb_mm(mm);
+
+ /* this happens for the common case of a single-threaded fork(): */
+ if (likely(mm == current->active_mm && atomic_read(&mm->mm_users) == 1))
+ return;
+
+ smp_call_function((void (*)(void *))local_flush_tlb_mm, mm, 1, 1);
}
/*
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)