mirror of https://gitee.com/openkylin/linux.git
MIPS: mm: Remove local_flush_tlb_mm()
All 3 variants of local_flush_tlb_mm() are now effectively simple calls to drop_mmu_context(). Remove them and use drop_mmu_context() directly. Signed-off-by: Paul Burton <paul.burton@mips.com> Cc: linux-mips@vger.kernel.org
This commit is contained in:
parent
f7908a007e
commit
558ec8ad71
|
@ -14,7 +14,6 @@
|
|||
* - flush_tlb_kernel_range(start, end) flushes a range of kernel pages
|
||||
*/
|
||||
extern void local_flush_tlb_all(void);
|
||||
extern void local_flush_tlb_mm(struct mm_struct *mm);
|
||||
extern void local_flush_tlb_range(struct vm_area_struct *vma,
|
||||
unsigned long start, unsigned long end);
|
||||
extern void local_flush_tlb_kernel_range(unsigned long start,
|
||||
|
@ -23,6 +22,8 @@ extern void local_flush_tlb_page(struct vm_area_struct *vma,
|
|||
unsigned long page);
|
||||
extern void local_flush_tlb_one(unsigned long vaddr);
|
||||
|
||||
#include <asm/mmu_context.h>
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
|
||||
extern void flush_tlb_all(void);
|
||||
|
@ -36,7 +37,7 @@ extern void flush_tlb_one(unsigned long vaddr);
|
|||
#else /* CONFIG_SMP */
|
||||
|
||||
#define flush_tlb_all() local_flush_tlb_all()
|
||||
#define flush_tlb_mm(mm) local_flush_tlb_mm(mm)
|
||||
#define flush_tlb_mm(mm) drop_mmu_context(mm)
|
||||
#define flush_tlb_range(vma, vmaddr, end) local_flush_tlb_range(vma, vmaddr, end)
|
||||
#define flush_tlb_kernel_range(vmaddr,end) \
|
||||
local_flush_tlb_kernel_range(vmaddr, end)
|
||||
|
|
|
@ -487,7 +487,7 @@ void flush_tlb_all(void)
|
|||
|
||||
static void flush_tlb_mm_ipi(void *mm)
|
||||
{
|
||||
local_flush_tlb_mm((struct mm_struct *)mm);
|
||||
drop_mmu_context((struct mm_struct *)mm);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -540,7 +540,7 @@ void flush_tlb_mm(struct mm_struct *mm)
|
|||
cpu_context(cpu, mm) = 0;
|
||||
}
|
||||
}
|
||||
local_flush_tlb_mm(mm);
|
||||
drop_mmu_context(mm);
|
||||
|
||||
preempt_enable();
|
||||
}
|
||||
|
|
|
@ -67,18 +67,6 @@ void local_flush_tlb_all(void)
|
|||
local_irq_restore(flags);
|
||||
}
|
||||
|
||||
void local_flush_tlb_mm(struct mm_struct *mm)
|
||||
{
|
||||
#ifdef DEBUG_TLB
|
||||
int cpu = smp_processor_id();
|
||||
|
||||
if (cpu_context(cpu, mm) != 0)
|
||||
printk("[tlbmm<%lu>]", (unsigned long)cpu_context(cpu, mm));
|
||||
#endif
|
||||
|
||||
drop_mmu_context(mm);
|
||||
}
|
||||
|
||||
void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
|
||||
unsigned long end)
|
||||
{
|
||||
|
|
|
@ -104,13 +104,6 @@ void local_flush_tlb_all(void)
|
|||
}
|
||||
EXPORT_SYMBOL(local_flush_tlb_all);
|
||||
|
||||
/* All entries common to a mm share an asid. To effectively flush
|
||||
these entries, we just bump the asid. */
|
||||
void local_flush_tlb_mm(struct mm_struct *mm)
|
||||
{
|
||||
drop_mmu_context(mm);
|
||||
}
|
||||
|
||||
void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
|
||||
unsigned long end)
|
||||
{
|
||||
|
|
|
@ -50,11 +50,6 @@ void local_flush_tlb_all(void)
|
|||
local_irq_restore(flags);
|
||||
}
|
||||
|
||||
void local_flush_tlb_mm(struct mm_struct *mm)
|
||||
{
|
||||
drop_mmu_context(mm);
|
||||
}
|
||||
|
||||
void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
|
||||
unsigned long end)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue