• Aneesh Kumar K.V's avatar
    powerpc/mm/book3s64/radix: Remove unused code. · a42d6ba8
    Aneesh Kumar K.V authored
    mm_tlb_flush_nested change was added in the mmu gather tlb flush to
    handle the case of parallel pte invalidate happening with mmap_sem
    held in read mode. This fix was done by commit
    02390f66 ("powerpc/64s/radix: Fix MADV_[FREE|DONTNEED] TLB flush
    miss problem with THP") and the problem is explained in detail in
    commit 99baac21 ("mm: fix MADV_[FREE|DONTNEED] TLB flush miss
    problem")
    
    This was later updated by commit 7a30df49 ("mm: mmu_gather: remove
    __tlb_reset_range() for force flush") to do a full mm flush rather
    than a range flush. By commit dd2283f2 ("mm: mmap: zap pages with
    read mmap_sem in munmap") we are also now allowing a page table free
    in mmap_sem read mode which means we should do a PWC flush too. Our
    current full mm flush imply a PWC flush.
    
    With all the above change the mm_tlb_flush_nested(mm) branch in
    radix__tlb_flush will never be taken because for the nested case we
    would have taken the if (tlb->fullmm) branch. This patch removes the
    unused code. Also, remove the gflush change in
    __radix__flush_tlb_range that was added to handle the range tlb flush
    code. We only check for THP there because hugetlb is flushed via a
    different code path where page size is explicitly specified.
    
    This is a partial revert of commit 02390f66 ("powerpc/64s/radix:
    Fix MADV_[FREE|DONTNEED] TLB flush miss problem with THP")
    Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20191024075801.22434-1-aneesh.kumar@linux.ibm.com
    a42d6ba8
radix_tlb.c 30.9 KB