]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/mm/book3s64/radix: Remove unused code.
authorAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Thu, 24 Oct 2019 07:57:59 +0000 (13:27 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 5 Nov 2019 11:23:17 +0000 (22:23 +1100)
commit8c765c3e25cc3b0b3f9cdeaac61eb34e361fb422
treeca8533c9eaa8f6dc784da07a9b3d2248394006a3
parentb8fee8f2cdf3b8efdc5930f1bd4b2a960f059465
powerpc/mm/book3s64/radix: Remove unused code.

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
272f1b6a9721 ("powerpc/64s/radix: Fix MADV_[FREE|DONTNEED] TLB flush
miss problem with THP") and the problem is explained in detail in
commit b6ba69c8d3b5 ("mm: fix MADV_[FREE|DONTNEED] TLB flush miss
problem")

This was later updated by commit ddf1fda78e18 ("mm: mmu_gather: remove
__tlb_reset_range() for force flush") to do a full mm flush rather
than a range flush. By commit 5dcd5782f466 ("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 272f1b6a9721 ("powerpc/64s/radix:
Fix MADV_[FREE|DONTNEED] TLB flush miss problem with THP")

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20191024075801.22434-1-aneesh.kumar@linux.ibm.com
arch/powerpc/mm/book3s64/radix_tlb.c