Commit 0d262424 authored by Linus Torvalds's avatar Linus Torvalds

Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Disable preemption during flush_tlb_pending().
  [SPARC64]: Kill __flush_tlb_page() prototype.
parents 9f29333d c9f2946f
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <linux/percpu.h> #include <linux/percpu.h>
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/swap.h> #include <linux/swap.h>
#include <linux/preempt.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/pgalloc.h> #include <asm/pgalloc.h>
...@@ -24,6 +25,8 @@ void flush_tlb_pending(void) ...@@ -24,6 +25,8 @@ void flush_tlb_pending(void)
{ {
struct mmu_gather *mp = &__get_cpu_var(mmu_gathers); struct mmu_gather *mp = &__get_cpu_var(mmu_gathers);
preempt_disable();
if (mp->tlb_nr) { if (mp->tlb_nr) {
flush_tsb_user(mp); flush_tsb_user(mp);
...@@ -38,6 +41,8 @@ void flush_tlb_pending(void) ...@@ -38,6 +41,8 @@ void flush_tlb_pending(void)
} }
mp->tlb_nr = 0; mp->tlb_nr = 0;
} }
preempt_enable();
} }
void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t orig) void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t orig)
......
...@@ -22,8 +22,6 @@ extern void flush_tlb_pending(void); ...@@ -22,8 +22,6 @@ extern void flush_tlb_pending(void);
/* Local cpu only. */ /* Local cpu only. */
extern void __flush_tlb_all(void); extern void __flush_tlb_all(void);
extern void __flush_tlb_page(unsigned long context, unsigned long page, unsigned long r);
extern void __flush_tlb_kernel_range(unsigned long start, unsigned long end); extern void __flush_tlb_kernel_range(unsigned long start, unsigned long end);
#ifndef CONFIG_SMP #ifndef CONFIG_SMP
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment