On 15.10.25 10:27, Kevin Brodsky wrote:
Upcoming changes to the lazy_mmu API will cause
arch_flush_lazy_mmu_mode() to be called when leaving a nested
lazy_mmu section.
Move the relevant logic from arch_leave_lazy_mmu_mode() to
arch_flush_lazy_mmu_mode() and have the former call the latter.
Signed-off-by: Kevin Brodsky <[email protected]>
---
.../powerpc/include/asm/book3s/64/tlbflush-hash.h | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
index 146287d9580f..7704dbe8e88d 100644
--- a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
+++ b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
@@ -41,6 +41,16 @@ static inline void arch_enter_lazy_mmu_mode(void)
batch->active = 1;
}
+static inline void arch_flush_lazy_mmu_mode(void)
+{
+ struct ppc64_tlb_batch *batch;
+
+ batch = this_cpu_ptr(&ppc64_tlb_batch);
The downside is the double this_cpu_ptr() now on the
arch_leave_lazy_mmu_mode() path.
You could just have a helper function that is called by either or just
... leave arch_leave_lazy_mmu_mode() alone and just replicate the two
statements here in arch_flush_lazy_mmu_mode().
I would do just that :)
--
Cheers
David / dhildenb