Commit ec72859c authored by Paul Mackerras's avatar Paul Mackerras Committed by Linus Torvalds

[PATCH] PPC64 Disable preemption in flush_tlb_pending

The preempt debug stuff found a place where we were using
smp_processor_id() without having preemption disabled, in
flush_tlb_pending.  This patch fixes it by using get_cpu_var and
put_cpu_var instead of the __get_cpu_var variant.
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 80ce63d3
...@@ -32,10 +32,11 @@ extern void __flush_tlb_pending(struct ppc64_tlb_batch *batch); ...@@ -32,10 +32,11 @@ extern void __flush_tlb_pending(struct ppc64_tlb_batch *batch);
static inline void flush_tlb_pending(void) static inline void flush_tlb_pending(void)
{ {
struct ppc64_tlb_batch *batch = &__get_cpu_var(ppc64_tlb_batch); struct ppc64_tlb_batch *batch = &get_cpu_var(ppc64_tlb_batch);
if (batch->index) if (batch->index)
__flush_tlb_pending(batch); __flush_tlb_pending(batch);
put_cpu_var(ppc64_tlb_batch);
} }
#define flush_tlb_mm(mm) flush_tlb_pending() #define flush_tlb_mm(mm) flush_tlb_pending()
......
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