diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/smp_32.c | 3 | ||||
-rw-r--r-- | arch/x86/kernel/smp_64.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kernel/smp_32.c b/arch/x86/kernel/smp_32.c index 070816ac79e1..dc0cde9d16fb 100644 --- a/arch/x86/kernel/smp_32.c +++ b/arch/x86/kernel/smp_32.c | |||
@@ -256,13 +256,14 @@ static DEFINE_SPINLOCK(tlbstate_lock); | |||
256 | * We need to reload %cr3 since the page tables may be going | 256 | * We need to reload %cr3 since the page tables may be going |
257 | * away from under us.. | 257 | * away from under us.. |
258 | */ | 258 | */ |
259 | void leave_mm(unsigned long cpu) | 259 | void leave_mm(int cpu) |
260 | { | 260 | { |
261 | if (per_cpu(cpu_tlbstate, cpu).state == TLBSTATE_OK) | 261 | if (per_cpu(cpu_tlbstate, cpu).state == TLBSTATE_OK) |
262 | BUG(); | 262 | BUG(); |
263 | cpu_clear(cpu, per_cpu(cpu_tlbstate, cpu).active_mm->cpu_vm_mask); | 263 | cpu_clear(cpu, per_cpu(cpu_tlbstate, cpu).active_mm->cpu_vm_mask); |
264 | load_cr3(swapper_pg_dir); | 264 | load_cr3(swapper_pg_dir); |
265 | } | 265 | } |
266 | EXPORT_SYMBOL_GPL(leave_mm); | ||
266 | 267 | ||
267 | /* | 268 | /* |
268 | * | 269 | * |
diff --git a/arch/x86/kernel/smp_64.c b/arch/x86/kernel/smp_64.c index 02a6533e8909..2fd74b06db67 100644 --- a/arch/x86/kernel/smp_64.c +++ b/arch/x86/kernel/smp_64.c | |||
@@ -69,13 +69,14 @@ static DEFINE_PER_CPU(union smp_flush_state, flush_state); | |||
69 | * We cannot call mmdrop() because we are in interrupt context, | 69 | * We cannot call mmdrop() because we are in interrupt context, |
70 | * instead update mm->cpu_vm_mask. | 70 | * instead update mm->cpu_vm_mask. |
71 | */ | 71 | */ |
72 | static inline void leave_mm(int cpu) | 72 | void leave_mm(int cpu) |
73 | { | 73 | { |
74 | if (read_pda(mmu_state) == TLBSTATE_OK) | 74 | if (read_pda(mmu_state) == TLBSTATE_OK) |
75 | BUG(); | 75 | BUG(); |
76 | cpu_clear(cpu, read_pda(active_mm)->cpu_vm_mask); | 76 | cpu_clear(cpu, read_pda(active_mm)->cpu_vm_mask); |
77 | load_cr3(swapper_pg_dir); | 77 | load_cr3(swapper_pg_dir); |
78 | } | 78 | } |
79 | EXPORT_SYMBOL_GPL(leave_mm); | ||
79 | 80 | ||
80 | /* | 81 | /* |
81 | * | 82 | * |