Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

powerpc: remove checks for devmap pages and PMDs/PUDs

PFN_DEV no longer exists. This means no devmap PMDs or PUDs will be
created, so checking for them is redundant. Instead mappings of pages
that would have previously returned true for pXd_devmap() will return true
for pXd_trans_huge()

Link: https://lkml.kernel.org/r/31f63cc8dd518f9e2ec300681fe302eb4adf49b4.1750323463.git-series.apopple@nvidia.com
Signed-off-by: Alistair Popple <apopple@nvidia.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Balbir Singh <balbirs@nvidia.com>
Cc: Björn Töpel <bjorn@kernel.org>
Cc: Björn Töpel <bjorn@rivosinc.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Chunyan Zhang <zhang.lyra@gmail.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Deepak Gupta <debug@rivosinc.com>
Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Cc: Inki Dae <m.szyprowski@samsung.com>
Cc: John Groves <john@groves.net>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

Alistair Popple and committed by
Andrew Morton
bea0cc7c 2f4e882d

+10 -14
+1 -1
arch/powerpc/mm/book3s64/hash_hugepage.c
··· 54 54 /* 55 55 * Make sure this is thp or devmap entry 56 56 */ 57 - if (!(old_pmd & (H_PAGE_THP_HUGE | _PAGE_DEVMAP))) 57 + if (!(old_pmd & H_PAGE_THP_HUGE)) 58 58 return 0; 59 59 60 60 rflags = htab_convert_pte_flags(new_pmd, flags);
+1 -2
arch/powerpc/mm/book3s64/hash_pgtable.c
··· 195 195 unsigned long old; 196 196 197 197 #ifdef CONFIG_DEBUG_VM 198 - WARN_ON(!hash__pmd_trans_huge(*pmdp) && !pmd_devmap(*pmdp)); 198 + WARN_ON(!hash__pmd_trans_huge(*pmdp)); 199 199 assert_spin_locked(pmd_lockptr(mm, pmdp)); 200 200 #endif 201 201 ··· 227 227 228 228 VM_BUG_ON(address & ~HPAGE_PMD_MASK); 229 229 VM_BUG_ON(pmd_trans_huge(*pmdp)); 230 - VM_BUG_ON(pmd_devmap(*pmdp)); 231 230 232 231 pmd = *pmdp; 233 232 pmd_clear(pmdp);
+1 -1
arch/powerpc/mm/book3s64/hugetlbpage.c
··· 74 74 } while(!pte_xchg(ptep, __pte(old_pte), __pte(new_pte))); 75 75 76 76 /* Make sure this is a hugetlb entry */ 77 - if (old_pte & (H_PAGE_THP_HUGE | _PAGE_DEVMAP)) 77 + if (old_pte & H_PAGE_THP_HUGE) 78 78 return 0; 79 79 80 80 rflags = htab_convert_pte_flags(new_pte, flags);
+4 -6
arch/powerpc/mm/book3s64/pgtable.c
··· 62 62 { 63 63 int changed; 64 64 #ifdef CONFIG_DEBUG_VM 65 - WARN_ON(!pmd_trans_huge(*pmdp) && !pmd_devmap(*pmdp)); 65 + WARN_ON(!pmd_trans_huge(*pmdp)); 66 66 assert_spin_locked(pmd_lockptr(vma->vm_mm, pmdp)); 67 67 #endif 68 68 changed = !pmd_same(*(pmdp), entry); ··· 82 82 { 83 83 int changed; 84 84 #ifdef CONFIG_DEBUG_VM 85 - WARN_ON(!pud_devmap(*pudp)); 86 85 assert_spin_locked(pud_lockptr(vma->vm_mm, pudp)); 87 86 #endif 88 87 changed = !pud_same(*(pudp), entry); ··· 203 204 { 204 205 pmd_t pmd; 205 206 VM_BUG_ON(addr & ~HPAGE_PMD_MASK); 206 - VM_BUG_ON((pmd_present(*pmdp) && !pmd_trans_huge(*pmdp) && 207 - !pmd_devmap(*pmdp)) || !pmd_present(*pmdp)); 207 + VM_BUG_ON((pmd_present(*pmdp) && !pmd_trans_huge(*pmdp)) || 208 + !pmd_present(*pmdp)); 208 209 pmd = pmdp_huge_get_and_clear(vma->vm_mm, addr, pmdp); 209 210 /* 210 211 * if it not a fullmm flush, then we can possibly end up converting ··· 222 223 pud_t pud; 223 224 224 225 VM_BUG_ON(addr & ~HPAGE_PMD_MASK); 225 - VM_BUG_ON((pud_present(*pudp) && !pud_devmap(*pudp)) || 226 - !pud_present(*pudp)); 226 + VM_BUG_ON(!pud_present(*pudp)); 227 227 pud = pudp_huge_get_and_clear(vma->vm_mm, addr, pudp); 228 228 /* 229 229 * if it not a fullmm flush, then we can possibly end up converting
+2 -3
arch/powerpc/mm/book3s64/radix_pgtable.c
··· 1426 1426 unsigned long old; 1427 1427 1428 1428 #ifdef CONFIG_DEBUG_VM 1429 - WARN_ON(!radix__pmd_trans_huge(*pmdp) && !pmd_devmap(*pmdp)); 1429 + WARN_ON(!radix__pmd_trans_huge(*pmdp)); 1430 1430 assert_spin_locked(pmd_lockptr(mm, pmdp)); 1431 1431 #endif 1432 1432 ··· 1443 1443 unsigned long old; 1444 1444 1445 1445 #ifdef CONFIG_DEBUG_VM 1446 - WARN_ON(!pud_devmap(*pudp)); 1446 + WARN_ON(!pud_trans_huge(*pudp)); 1447 1447 assert_spin_locked(pud_lockptr(mm, pudp)); 1448 1448 #endif 1449 1449 ··· 1461 1461 1462 1462 VM_BUG_ON(address & ~HPAGE_PMD_MASK); 1463 1463 VM_BUG_ON(radix__pmd_trans_huge(*pmdp)); 1464 - VM_BUG_ON(pmd_devmap(*pmdp)); 1465 1464 /* 1466 1465 * khugepaged calls this for normal pmd 1467 1466 */
+1 -1
arch/powerpc/mm/pgtable.c
··· 509 509 return NULL; 510 510 #endif 511 511 512 - if (pmd_trans_huge(pmd) || pmd_devmap(pmd)) { 512 + if (pmd_trans_huge(pmd)) { 513 513 if (is_thp) 514 514 *is_thp = true; 515 515 ret_pte = (pte_t *)pmdp;