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


Reply via email to