*/
extern struct mm_struct * mm_alloc(void);
-extern struct mm_struct * start_lazy_tlb(void);
-extern void end_lazy_tlb(struct mm_struct *mm);
-
/* mmdrop drops the mm and the page tables */
extern inline void FASTCALL(__mmdrop(struct mm_struct *));
static inline void mmdrop(struct mm_struct * mm)
__exit_fs(tsk);
}
-/*
- * We can use these to temporarily drop into
- * "lazy TLB" mode and back.
- */
-struct mm_struct * start_lazy_tlb(void)
-{
- struct mm_struct *mm = current->mm;
- current->mm = NULL;
- /* active_mm is still 'mm' */
- atomic_inc(&mm->mm_count);
- enter_lazy_tlb(mm, current, smp_processor_id());
- return mm;
-}
-
-void end_lazy_tlb(struct mm_struct *mm)
-{
- struct mm_struct *active_mm = current->active_mm;
-
- current->mm = mm;
- if (mm != active_mm) {
- current->active_mm = mm;
- activate_mm(active_mm, mm);
- }
- mmdrop(active_mm);
-}
-
-
/*
* Turn us into a lazy TLB process if we
* aren't already..