Re: [RFC v1 06/10] powerpc/64s: Kill the unused argument of exit_lazy_flush_tlb

Christophe Leroy (CS GROUP)
2026-03-04T09:02:55Z

Le 25/02/2026 à 12:04, Ritesh Harjani (IBM) a écrit :
> In previous patch we removed the only caller of exit_lazy_flush_tlb()
> which was passing always_flush = false in it's second argument.
>
> With that gone, all the callers of exit_lazy_flush_tlb() are local to
> radix_pgtable.c and there is no need of an additional argument.
>
> This patch does the required cleanup. There should not be any
> functionality change in this patch.
>
> Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>

Reviewed-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>

> ---
> arch/powerpc/mm/book3s64/internal.h | 2 --
> arch/powerpc/mm/book3s64/pgtable.c | 2 --
> arch/powerpc/mm/book3s64/radix_tlb.c | 14 +++++---------
> 3 files changed, 5 insertions(+), 13 deletions(-)
>
> diff --git a/arch/powerpc/mm/book3s64/internal.h b/arch/powerpc/mm/book3s64/internal.h
> index cad08d83369c..f7055251c8b7 100644
> --- a/arch/powerpc/mm/book3s64/internal.h
> +++ b/arch/powerpc/mm/book3s64/internal.h
> @@ -31,6 +31,4 @@ static inline bool slb_preload_disabled(void)
>
> void hpt_do_stress(unsigned long ea, unsigned long hpte_group);
>
> -void exit_lazy_flush_tlb(struct mm_struct *mm, bool always_flush);
> -
> #endif /* ARCH_POWERPC_MM_BOOK3S64_INTERNAL_H */
> diff --git a/arch/powerpc/mm/book3s64/pgtable.c b/arch/powerpc/mm/book3s64/pgtable.c
> index 84284dff650a..52d3e0c4a030 100644
> --- a/arch/powerpc/mm/book3s64/pgtable.c
> +++ b/arch/powerpc/mm/book3s64/pgtable.c
> @@ -23,8 +23,6 @@
> #include <mm/mmu_decl.h>
> #include <trace/events/thp.h>
>
> -#include "internal.h"
> -
> struct mmu_psize_def mmu_psize_defs[MMU_PAGE_COUNT];
> EXPORT_SYMBOL_GPL(mmu_psize_defs);
>
> diff --git a/arch/powerpc/mm/book3s64/radix_tlb.c b/arch/powerpc/mm/book3s64/radix_tlb.c
> index 9e1f6558d026..339bd276840b 100644
> --- a/arch/powerpc/mm/book3s64/radix_tlb.c
> +++ b/arch/powerpc/mm/book3s64/radix_tlb.c
> @@ -19,8 +19,6 @@
> #include <asm/cputhreads.h>
> #include <asm/plpar_wrappers.h>
>
> -#include "internal.h"
> -
> /*
> * tlbiel instruction for radix, set invalidation
> * i.e., r=1 and is=01 or is=10 or is=11
> @@ -660,7 +658,7 @@ static bool mm_needs_flush_escalation(struct mm_struct *mm)
> * If always_flush is true, then flush even if this CPU can't be removed
> * from mm_cpumask.
> */
> -void exit_lazy_flush_tlb(struct mm_struct *mm, bool always_flush)
> +static void exit_lazy_flush_tlb(struct mm_struct *mm)
> {
> unsigned long pid = mm->context.id;
> int cpu = smp_processor_id();
> @@ -703,19 +701,17 @@ void exit_lazy_flush_tlb(struct mm_struct *mm, bool always_flush)
> if (cpumask_test_cpu(cpu, mm_cpumask(mm))) {
> dec_mm_active_cpus(mm);
> cpumask_clear_cpu(cpu, mm_cpumask(mm));
> - always_flush = true;
> }
>
> out:
> - if (always_flush)
> - _tlbiel_pid(pid, RIC_FLUSH_ALL);
> + _tlbiel_pid(pid, RIC_FLUSH_ALL);
> }
>
> #ifdef CONFIG_SMP
> static void do_exit_flush_lazy_tlb(void *arg)
> {
> struct mm_struct *mm = arg;
> - exit_lazy_flush_tlb(mm, true);
> + exit_lazy_flush_tlb(mm);
> }
>
> static void exit_flush_lazy_tlbs(struct mm_struct *mm)
> @@ -777,7 +773,7 @@ static enum tlb_flush_type flush_type_needed(struct mm_struct *mm, bool fullmm)
> * to trim.
> */
> if (tick_and_test_trim_clock()) {
> - exit_lazy_flush_tlb(mm, true);
> + exit_lazy_flush_tlb(mm);
> return FLUSH_TYPE_NONE;
> }
> }
> @@ -823,7 +819,7 @@ static enum tlb_flush_type flush_type_needed(struct mm_struct *mm, bool fullmm)
> if (current->mm == mm)
> return FLUSH_TYPE_LOCAL;
> if (cpumask_test_cpu(cpu, mm_cpumask(mm)))
> - exit_lazy_flush_tlb(mm, true);
> + exit_lazy_flush_tlb(mm);
> return FLUSH_TYPE_NONE;
> }
>