Re: [RFC PATCH 1/2] mm: move tlb_table_flush to tlb_flush_mmu_free

From: Will Deacon
Date: Thu Aug 23 2018 - 09:41:00 EST


On Thu, Aug 23, 2018 at 06:47:08PM +1000, Nicholas Piggin wrote:
> There is no need to call this from tlb_flush_mmu_tlbonly, it
> logically belongs with tlb_flush_mmu_free. This allows some
> code consolidation with a subsequent fix.
>
> Signed-off-by: Nicholas Piggin <npiggin@xxxxxxxxx>
> ---
> mm/memory.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)

Looks good to me, thanks:

Acked-by: Will Deacon <will.deacon@xxxxxxx>

Will

> diff --git a/mm/memory.c b/mm/memory.c
> index 19f47d7b9b86..7c58310734eb 100644
> --- a/mm/memory.c
> +++ b/mm/memory.c
> @@ -245,9 +245,6 @@ static void tlb_flush_mmu_tlbonly(struct mmu_gather *tlb)
>
> tlb_flush(tlb);
> mmu_notifier_invalidate_range(tlb->mm, tlb->start, tlb->end);
> -#ifdef CONFIG_HAVE_RCU_TABLE_FREE
> - tlb_table_flush(tlb);
> -#endif
> __tlb_reset_range(tlb);
> }
>
> @@ -255,6 +252,9 @@ static void tlb_flush_mmu_free(struct mmu_gather *tlb)
> {
> struct mmu_gather_batch *batch;
>
> +#ifdef CONFIG_HAVE_RCU_TABLE_FREE
> + tlb_table_flush(tlb);
> +#endif
> for (batch = &tlb->local; batch && batch->nr; batch = batch->next) {
> free_pages_and_swap_cache(batch->pages, batch->nr);
> batch->nr = 0;
> --
> 2.17.0
>