From patchwork Fri Feb 21 14:31:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 13985608 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7BBF2C021B3 for ; Fri, 21 Feb 2025 14:31:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D3E1528000D; Fri, 21 Feb 2025 09:31:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A4476280004; Fri, 21 Feb 2025 09:31:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 64A1428000B; Fri, 21 Feb 2025 09:31:10 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 154D928000C for ; Fri, 21 Feb 2025 09:31:10 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id C30B91411F5 for ; Fri, 21 Feb 2025 14:31:09 +0000 (UTC) X-FDA: 83144189058.14.746A115 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf09.hostedemail.com (Postfix) with ESMTP id 1356014000B for ; Fri, 21 Feb 2025 14:31:07 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=TrreS7Wm; dmarc=none; spf=none (imf09.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740148268; a=rsa-sha256; cv=none; b=h1AJ+1lAPfphVq2AVplbpn+xnuazbBkOcFNweERXoyNBf+0B1B9I207AWGsLap/094FeE1 4akC1IdQ9aGAhqLcbiKtRB8xleceH932jPLiIvYP6QmnOzp4ZxQvuDX9BT5ZxXMRrvTC1D QPch2WsLCqZImbUMqWt5anU1esjg5IA= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=TrreS7Wm; dmarc=none; spf=none (imf09.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740148268; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=OPZaoplXu1Ps7T1qsZcLBPox+GXOWYr2sK+vfK2TF8U=; b=2QrxnuCNBzKpMji9EsBJg7qT4vWEqgByL6/TDFfQwwfPDBMid3uDm3lr4EQJQ7p3IytgZt mgD7BkIrBz9xv5RcYF2P6kPqdBe259lMVOHo7p8tHALssOlDBzatNVx50xdJYX4Bp2mUSQ HRYt0TH+19Rcprok+4l1wv/Aa25wDBI= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description; bh=OPZaoplXu1Ps7T1qsZcLBPox+GXOWYr2sK+vfK2TF8U=; b=TrreS7WmUoSGumAOdSOC98rBTd ggeQ0aoHD+zkND+Jl5LO9Ef+aLoo1VBvIhI5d/Lo5dcme7yECjTZ5LhB97/tLmIfIhxmuV784BW1r NkgboQ7hAXm3+rfwPWs733REmeHam9jOLnT8ixeHWd1E0mj6VsupmyX4MGWLR97rywzzZpuBounLN R7SSDr1Njo2rKNu5Ys1OgQZnOX5tbpaUbAHyeITD8CL7ugHSf9+NQ8RuKMb0vrSC+v9IhYCQbmtYX 102zdcigOT+Qfn4+QQk6laNYElp19Bnvnhfv+Oufpfug0e2s7+E4dkuJMNQPt/htXq/H4/Y3ptr0c w4q2jEKA==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1tlU3W-0000000DzWe-3I4M; Fri, 21 Feb 2025 14:31:06 +0000 From: "Matthew Wilcox (Oracle)" To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" , linux-arch@vger.kernel.org Subject: [PATCH 4/4] arch: Remove mk_pmd() Date: Fri, 21 Feb 2025 14:31:01 +0000 Message-ID: <20250221143104.3334444-5-willy@infradead.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250221143104.3334444-1-willy@infradead.org> References: <20250221143104.3334444-1-willy@infradead.org> MIME-Version: 1.0 X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 1356014000B X-Stat-Signature: rtffz717tkd6s75smcn3wrm7r4gzsr11 X-Rspam-User: X-HE-Tag: 1740148267-858148 X-HE-Meta: U2FsdGVkX19GzgghwPR99VyFjnoVXFjt1NGdcRMtRxp/KpYk9fPbv16CqalfH6CDk0Fa3G/GYMqkru3mKGrm89SPHpzApjXWC5x6mvjfZTaMIH4QigyEkjbrV2Db/F3EFkuYuC+YPmlFdQqkEkbS/vtz0B8+ZbYXGtpo6t0TUytzyzkIhUB4gEg+qGe/31zwd0PqZHhC5vgZdEsycGHzBfl9bo9WnN/sh7+Y+SpFBJ0euCGeyH543tvmV9eByF+nHoLQQlpLomyIQ6jjxQVjNK+HXAtzQwjbssW8u7QTZbJDYCzYkS8jBA3uo+b68d3xkXmomLZ1Hf+X7FfpU/6lK0q6WlfPKCnxMd5s8UDAqAfvmO3+aoYPwEBUjxtuhCmphlTc8Wusi0EIHIdFiFPPGMLRTr7j+yY3F2APxNAhZKT8t+BydaJaWGnnAKbHNohMLNUCWfWBRa67ICjRXm8yFF4+cfh0sceXqRGR7n7/Pw3vHtYbV1EW29zYEPh+uP3OhgYbWZttQN2iIE35o1/TZehu6nMwZd9gQBhq4bDxPvIJLYEuwGVgpn/tR0I7zZzDh092l2BA4lBLLlOwnJLPduqdyn2sqNLNm1Y0toGePUD3cDs6B9hTbD4enLbs/eSvVkqlTq+981ayZTxeOQ2utaTI6Db1gUlaFwZfyeaEUY8+V6OOK+t3Y9+iZJ5LFCDdWalSYELtp+hWuVgGEkRQOw0QPX6VsHPjnAZDom/PBW6P+SAV9JdQOBc456AjxSRRytY6Y9sfTDtLqCvR+QTOgBjR559NsnEYqP271qM812bm8rrCT5h7UvFpAHQ0gzL23QXn6ROkWGunmEGBvmbwJFsafnAhktHgwY0Ugr9jksZFjBHndbWJJmT3lyOO4tbHYsgmLn0Ds0Z/qy1gAN9zV6hz15cyARFLY2NmOJEevy150Ly+g8E4B63ULvZlGB6m8ezkuo7PZNoxn2jDQJT 6umnNLms 19IDT7bLJ84L/2SVKHrOtFNir1LGXpZW1jgFA6cCyeCR/wEhHQYlJ18v4h4MuxcclWAdO25HDIvVGKz6vHpPbMKIeN68r0av8e8+1oUaBg0FinBjENiQ6qoDR7GPvPWbLCvP/QYGN5W2Vqw0gR6cuj1KKRZErACgf7z8af1JLQIYhclcCI/A62or3LE9x2GQCEA65ZQ8pj/2di5QW0HaTYUlIGyZLhMtRxjj3V4JpVOvXZuHV1VDZXwwE8jdUHj6wVIJoFSWwxkmNe2TA26fASVx83/aoddo9+1Cq X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: There are now no callers of mk_huge_pmd() and mk_pmd(). Remove them. Signed-off-by: Matthew Wilcox (Oracle) --- arch/arc/include/asm/hugepage.h | 2 -- arch/arc/include/asm/pgtable-levels.h | 1 - arch/arm/include/asm/pgtable-3level.h | 1 - arch/arm64/include/asm/pgtable.h | 1 - arch/loongarch/include/asm/pgtable.h | 1 - arch/loongarch/mm/pgtable.c | 9 --------- arch/mips/include/asm/pgtable.h | 3 --- arch/mips/mm/pgtable-32.c | 10 ---------- arch/mips/mm/pgtable-64.c | 9 --------- arch/powerpc/include/asm/book3s/64/pgtable.h | 1 - arch/powerpc/mm/book3s64/pgtable.c | 5 ----- arch/riscv/include/asm/pgtable-64.h | 2 -- arch/s390/include/asm/pgtable.h | 1 - arch/sparc/include/asm/pgtable_64.h | 1 - arch/x86/include/asm/pgtable.h | 2 -- include/linux/huge_mm.h | 2 -- 16 files changed, 51 deletions(-) diff --git a/arch/arc/include/asm/hugepage.h b/arch/arc/include/asm/hugepage.h index 8a2441670a8f..7765dc105d54 100644 --- a/arch/arc/include/asm/hugepage.h +++ b/arch/arc/include/asm/hugepage.h @@ -40,8 +40,6 @@ static inline pmd_t pte_pmd(pte_t pte) #define pmd_young(pmd) pte_young(pmd_pte(pmd)) #define pmd_dirty(pmd) pte_dirty(pmd_pte(pmd)) -#define mk_pmd(page, prot) pte_pmd(mk_pte(page, prot)) - #define pmd_trans_huge(pmd) (pmd_val(pmd) & _PAGE_HW_SZ) #define pfn_pmd(pfn, prot) (__pmd(((pfn) << PAGE_SHIFT) | pgprot_val(prot))) diff --git a/arch/arc/include/asm/pgtable-levels.h b/arch/arc/include/asm/pgtable-levels.h index 55dbd2719e35..d1ce4b0f1071 100644 --- a/arch/arc/include/asm/pgtable-levels.h +++ b/arch/arc/include/asm/pgtable-levels.h @@ -142,7 +142,6 @@ #define pmd_pfn(pmd) ((pmd_val(pmd) & PMD_MASK) >> PAGE_SHIFT) #define pfn_pmd(pfn,prot) __pmd(((pfn) << PAGE_SHIFT) | pgprot_val(prot)) -#define mk_pmd(page,prot) pfn_pmd(page_to_pfn(page),prot) #endif diff --git a/arch/arm/include/asm/pgtable-3level.h b/arch/arm/include/asm/pgtable-3level.h index fa5939eb9864..7b71a3d414b7 100644 --- a/arch/arm/include/asm/pgtable-3level.h +++ b/arch/arm/include/asm/pgtable-3level.h @@ -209,7 +209,6 @@ PMD_BIT_FUNC(mkyoung, |= PMD_SECT_AF); #define pmd_pfn(pmd) (((pmd_val(pmd) & PMD_MASK) & PHYS_MASK) >> PAGE_SHIFT) #define pfn_pmd(pfn,prot) (__pmd(((phys_addr_t)(pfn) << PAGE_SHIFT) | pgprot_val(prot))) -#define mk_pmd(page,prot) pfn_pmd(page_to_pfn(page),prot) /* No hardware dirty/accessed bits -- generic_pmdp_establish() fits */ #define pmdp_establish generic_pmdp_establish diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h index 64b469d799c6..5c0c184bf044 100644 --- a/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h @@ -607,7 +607,6 @@ static inline pmd_t pmd_mkspecial(pmd_t pmd) #define __phys_to_pmd_val(phys) __phys_to_pte_val(phys) #define pmd_pfn(pmd) ((__pmd_to_phys(pmd) & PMD_MASK) >> PAGE_SHIFT) #define pfn_pmd(pfn,prot) __pmd(__phys_to_pmd_val((phys_addr_t)(pfn) << PAGE_SHIFT) | pgprot_val(prot)) -#define mk_pmd(page,prot) pfn_pmd(page_to_pfn(page),prot) #define pud_young(pud) pte_young(pud_pte(pud)) #define pud_mkyoung(pud) pte_pud(pte_mkyoung(pud_pte(pud))) diff --git a/arch/loongarch/include/asm/pgtable.h b/arch/loongarch/include/asm/pgtable.h index 9ba3a4ebcd98..a3f17914dbab 100644 --- a/arch/loongarch/include/asm/pgtable.h +++ b/arch/loongarch/include/asm/pgtable.h @@ -255,7 +255,6 @@ static inline void pmd_clear(pmd_t *pmdp) #define pmd_page_vaddr(pmd) pmd_val(pmd) -extern pmd_t mk_pmd(struct page *page, pgprot_t prot); extern void set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd); #define pte_page(x) pfn_to_page(pte_pfn(x)) diff --git a/arch/loongarch/mm/pgtable.c b/arch/loongarch/mm/pgtable.c index 22a94bb3e6e8..352d9b2e02ab 100644 --- a/arch/loongarch/mm/pgtable.c +++ b/arch/loongarch/mm/pgtable.c @@ -135,15 +135,6 @@ void kernel_pte_init(void *addr) } while (p != end); } -pmd_t mk_pmd(struct page *page, pgprot_t prot) -{ - pmd_t pmd; - - pmd_val(pmd) = (page_to_pfn(page) << PFN_PTE_SHIFT) | pgprot_val(prot); - - return pmd; -} - void set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd) { diff --git a/arch/mips/include/asm/pgtable.h b/arch/mips/include/asm/pgtable.h index d69cfa5a8ac6..4852b005a72d 100644 --- a/arch/mips/include/asm/pgtable.h +++ b/arch/mips/include/asm/pgtable.h @@ -713,9 +713,6 @@ static inline pmd_t pmd_clear_soft_dirty(pmd_t pmd) #endif /* CONFIG_HAVE_ARCH_SOFT_DIRTY */ -/* Extern to avoid header file madness */ -extern pmd_t mk_pmd(struct page *page, pgprot_t prot); - static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) { pmd_val(pmd) = (pmd_val(pmd) & (_PAGE_CHG_MASK | _PAGE_HUGE)) | diff --git a/arch/mips/mm/pgtable-32.c b/arch/mips/mm/pgtable-32.c index 84dd5136d53a..e2cf2166d5cb 100644 --- a/arch/mips/mm/pgtable-32.c +++ b/arch/mips/mm/pgtable-32.c @@ -31,16 +31,6 @@ void pgd_init(void *addr) } #if defined(CONFIG_TRANSPARENT_HUGEPAGE) -pmd_t mk_pmd(struct page *page, pgprot_t prot) -{ - pmd_t pmd; - - pmd_val(pmd) = (page_to_pfn(page) << PFN_PTE_SHIFT) | pgprot_val(prot); - - return pmd; -} - - void set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd) { diff --git a/arch/mips/mm/pgtable-64.c b/arch/mips/mm/pgtable-64.c index 1e544827dea9..b24f865de357 100644 --- a/arch/mips/mm/pgtable-64.c +++ b/arch/mips/mm/pgtable-64.c @@ -90,15 +90,6 @@ void pud_init(void *addr) #endif #ifdef CONFIG_TRANSPARENT_HUGEPAGE -pmd_t mk_pmd(struct page *page, pgprot_t prot) -{ - pmd_t pmd; - - pmd_val(pmd) = (page_to_pfn(page) << PFN_PTE_SHIFT) | pgprot_val(prot); - - return pmd; -} - void set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd) { diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h b/arch/powerpc/include/asm/book3s/64/pgtable.h index 6d98e6f08d4d..6ed93e290c2f 100644 --- a/arch/powerpc/include/asm/book3s/64/pgtable.h +++ b/arch/powerpc/include/asm/book3s/64/pgtable.h @@ -1096,7 +1096,6 @@ static inline bool pmd_access_permitted(pmd_t pmd, bool write) #ifdef CONFIG_TRANSPARENT_HUGEPAGE extern pmd_t pfn_pmd(unsigned long pfn, pgprot_t pgprot); extern pud_t pfn_pud(unsigned long pfn, pgprot_t pgprot); -extern pmd_t mk_pmd(struct page *page, pgprot_t pgprot); extern pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot); extern pud_t pud_modify(pud_t pud, pgprot_t newprot); extern void set_pmd_at(struct mm_struct *mm, unsigned long addr, diff --git a/arch/powerpc/mm/book3s64/pgtable.c b/arch/powerpc/mm/book3s64/pgtable.c index ce64abea9e3e..81a1fa7dcc23 100644 --- a/arch/powerpc/mm/book3s64/pgtable.c +++ b/arch/powerpc/mm/book3s64/pgtable.c @@ -270,11 +270,6 @@ pud_t pfn_pud(unsigned long pfn, pgprot_t pgprot) return __pud_mkhuge(pud_set_protbits(__pud(pudv), pgprot)); } -pmd_t mk_pmd(struct page *page, pgprot_t pgprot) -{ - return pfn_pmd(page_to_pfn(page), pgprot); -} - pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) { unsigned long pmdv; diff --git a/arch/riscv/include/asm/pgtable-64.h b/arch/riscv/include/asm/pgtable-64.h index 0897dd99ab8d..188fadc1c21f 100644 --- a/arch/riscv/include/asm/pgtable-64.h +++ b/arch/riscv/include/asm/pgtable-64.h @@ -262,8 +262,6 @@ static inline unsigned long _pmd_pfn(pmd_t pmd) return __page_val_to_pfn(pmd_val(pmd)); } -#define mk_pmd(page, prot) pfn_pmd(page_to_pfn(page), prot) - #define pmd_ERROR(e) \ pr_err("%s:%d: bad pmd %016lx.\n", __FILE__, __LINE__, pmd_val(e)) diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h index db932beabc87..7d8d8793259a 100644 --- a/arch/s390/include/asm/pgtable.h +++ b/arch/s390/include/asm/pgtable.h @@ -1870,7 +1870,6 @@ static inline pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, #define pmdp_collapse_flush pmdp_collapse_flush #define pfn_pmd(pfn, pgprot) mk_pmd_phys(((pfn) << PAGE_SHIFT), (pgprot)) -#define mk_pmd(page, pgprot) pfn_pmd(page_to_pfn(page), (pgprot)) static inline int pmd_trans_huge(pmd_t pmd) { diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h index ac115adb488f..5a6dc10486de 100644 --- a/arch/sparc/include/asm/pgtable_64.h +++ b/arch/sparc/include/asm/pgtable_64.h @@ -233,7 +233,6 @@ static inline pmd_t pfn_pmd(unsigned long page_nr, pgprot_t pgprot) return __pmd(pte_val(pte)); } -#define mk_pmd(page, pgprot) pfn_pmd(page_to_pfn(page), (pgprot)) #endif /* This one can be done with two shifts. */ diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index 9f480bdafd20..d09d17cff956 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h @@ -1347,8 +1347,6 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, #define flush_tlb_fix_spurious_fault(vma, address, ptep) do { } while (0) -#define mk_pmd(page, pgprot) pfn_pmd(page_to_pfn(page), (pgprot)) - #define __HAVE_ARCH_PMDP_SET_ACCESS_FLAGS extern int pmdp_set_access_flags(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h index 93e509b6c00e..78341bb40351 100644 --- a/include/linux/huge_mm.h +++ b/include/linux/huge_mm.h @@ -461,8 +461,6 @@ static inline bool is_huge_zero_pmd(pmd_t pmd) struct folio *mm_get_huge_zero_folio(struct mm_struct *mm); void mm_put_huge_zero_folio(struct mm_struct *mm); -#define mk_huge_pmd(page, prot) pmd_mkhuge(mk_pmd(page, prot)) - static inline bool thp_migration_supported(void) { return IS_ENABLED(CONFIG_ARCH_ENABLE_THP_MIGRATION);