]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
s390/tlb: Use mm_has_pgste() instead of mm_alloc_pgste()
authorHeiko Carstens <hca@linux.ibm.com>
Mon, 10 Mar 2025 11:42:59 +0000 (12:42 +0100)
committerVasily Gorbik <gor@linux.ibm.com>
Tue, 18 Mar 2025 16:13:05 +0000 (17:13 +0100)
An mm has pgstes only after s390_enable_sie() has been called, while
mm_alloc_pgste() may be always true (e.g. via sysctl setting).

Limit the calls to gmap_unlink() in pte_free_tlb() to those cases
where there might be something to unlink.

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/tlb.h

index 72655fd2d867c57184531cc06e125db8106c4fc3..f20601995bb0e6c6acdfc24689a7409f0102c210 100644 (file)
@@ -84,7 +84,7 @@ static inline void pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte,
        tlb->mm->context.flush_mm = 1;
        tlb->freed_tables = 1;
        tlb->cleared_pmds = 1;
-       if (mm_alloc_pgste(tlb->mm))
+       if (mm_has_pgste(tlb->mm))
                gmap_unlink(tlb->mm, (unsigned long *)pte, address);
        tlb_remove_ptdesc(tlb, virt_to_ptdesc(pte));
 }