提交 26e53d5e 编写于 作者: N Nicholas Piggin 提交者: Michael Ellerman

powerpc/64s/radix: Fix preempt imbalance in TLB flush

Fixes: 424de9c6 ("powerpc/mm/radix: Avoid flushing the PWC on every flush_tlb_range")
Signed-off-by: NNicholas Piggin <npiggin@gmail.com>
Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
上级 158f1969
...@@ -360,12 +360,14 @@ void radix__flush_tlb_collapsed_pmd(struct mm_struct *mm, unsigned long addr) ...@@ -360,12 +360,14 @@ void radix__flush_tlb_collapsed_pmd(struct mm_struct *mm, unsigned long addr)
pid = mm ? mm->context.id : 0; pid = mm ? mm->context.id : 0;
preempt_disable();
if (unlikely(pid == MMU_NO_CONTEXT)) if (unlikely(pid == MMU_NO_CONTEXT))
goto no_context; goto no_context;
/* 4k page size, just blow the world */ /* 4k page size, just blow the world */
if (PAGE_SIZE == 0x1000) { if (PAGE_SIZE == 0x1000) {
radix__flush_all_mm(mm); radix__flush_all_mm(mm);
preempt_enable();
return; return;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册