| Subject | Suspend 2 merge: 31/51: Export tlb flushing | From | Nigel Cunningham <> | Date | Wed, 24 Nov 2004 23:59:50 +1100 |
| |
This patch adds a do_flush_tlb_all function that does the SMP-appropriate thing for suspend after the image is restored.
diff -ruN 818-tlb-flushing-functions-old/arch/i386/kernel/smp.c 818-tlb-flushing-functions-new/arch/i386/kernel/smp.c --- 818-tlb-flushing-functions-old/arch/i386/kernel/smp.c 2004-11-06 09:27:19.225681536 +1100 +++ 818-tlb-flushing-functions-new/arch/i386/kernel/smp.c 2004-11-04 16:27:41.000000000 +1100 @@ -476,7 +476,7 @@ preempt_enable(); } -static void do_flush_tlb_all(void* info) +void do_flush_tlb_all(void* info) { unsigned long cpu = smp_processor_id(); diff -ruN 818-tlb-flushing-functions-old/include/asm-i386/tlbflush.h 818-tlb-flushing-functions-new/include/asm-i386/tlbflush.h --- 818-tlb-flushing-functions-old/include/asm-i386/tlbflush.h 2004-11-03 21:55:01.000000000 +1100 +++ 818-tlb-flushing-functions-new/include/asm-i386/tlbflush.h 2004-11-04 16:27:41.000000000 +1100 @@ -82,6 +82,7 @@ #define flush_tlb() __flush_tlb() #define flush_tlb_all() __flush_tlb_all() #define local_flush_tlb() __flush_tlb() +#define local_flush_tlb_all() __flush_tlb_all(); static inline void flush_tlb_mm(struct mm_struct *mm) { @@ -114,6 +115,10 @@ extern void flush_tlb_current_task(void); extern void flush_tlb_mm(struct mm_struct *); extern void flush_tlb_page(struct vm_area_struct *, unsigned long); +extern void do_flush_tlb_all(void * info); + +#define local_flush_tlb_all() \ + do_flush_tlb_all(NULL); #define flush_tlb() flush_tlb_current_task()
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|