From patchwork Fri Feb 21 14:30:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 13985607 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 D40D1C021B3 for ; Fri, 21 Feb 2025 14:31:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B08A028000A; Fri, 21 Feb 2025 09:31:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8258E28000F; 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 49BE328000D; Fri, 21 Feb 2025 09:31:10 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 0727728000B for ; Fri, 21 Feb 2025 09:31:09 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id B34F9141274 for ; Fri, 21 Feb 2025 14:31:09 +0000 (UTC) X-FDA: 83144189058.25.0271478 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf27.hostedemail.com (Postfix) with ESMTP id 1BF814000D for ; Fri, 21 Feb 2025 14:31:07 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=o3UvakpE; spf=none (imf27.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none 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=zdGcBGocRVUf83mumdTbIyeWsFhknXwHzV984ys0qcg=; b=P7DvnpE7F7jQIJH8b5uJnNQ9oZp0UdUnWn+FlO3DGZiu0YtTmqNKsmXjiX1ewyn4NjSdKa FbzgtiZBbOBru28nBNHLB70vgJsMeCfGQQBmTUXvMqbGFkLzsw5O5JTBeyxsoTfk5B4KQX P0VRe3FA67ggcxcD5c0QqnxxB9f8kKA= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=o3UvakpE; spf=none (imf27.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740148268; a=rsa-sha256; cv=none; b=OrxEhp9sgGqyKW7ptRTEEAGNL8eKJucrHLDkorrp+/WP0KK+KQowHEZ+1ptkHjzfjlGufM GA7t0WfLwDU9z2szkF43G+txEUGOgDMB9mGUXTThQnS6A+UCesd9TOQV0hNfB/ME6ju+mM e6PljsEtcpV0TLZaQ008rhNYetstTCs= 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=zdGcBGocRVUf83mumdTbIyeWsFhknXwHzV984ys0qcg=; b=o3UvakpEQP967j2RbIBr0H3+96 qPEz02hALIe/XHBzdPZ7ZRKN0v6N9Y/q6I5QG+AgfHJz9oqp8/07hRViCDTCmb0SdfjwDHphz7SMG 2QE5X4/BplHfWmHOtP3bRyN/txqRcNRH2iDGGxUIWjZEnrcAV4jYoC4650M/W3mU2QTKHNk7lawIQ 00hYVVLJjgd1wIBLBFysw2Z1xRy7Q1dJUKBbUylNfELY8/igAf+Sh7HkrJ+n9XaHWKnbHhe1NPv08 CpViN/SRZeLMTDrjMUwKwn5W5tTa/Yqun1xhEBybjIQAmMTz+tKx4raIW9pCNq2SQQpfKBbjKVa3p Et9b3KGQ==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1tlU3W-0000000DzWS-2Drz; 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 2/4] mm: Remove mk_huge_pte() Date: Fri, 21 Feb 2025 14:30:59 +0000 Message-ID: <20250221143104.3334444-3-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-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 1BF814000D X-Stat-Signature: zk4j9whxwgrnszebx6c35dp14e46e89p X-HE-Tag: 1740148267-550428 X-HE-Meta: U2FsdGVkX18LQG3ZFuCyHKvpS5YUoX3kXlVEAiH6PrfNLqza8qD9fuJR461GXqKGQls4BLaOJCZuHJhoX+ZK7OTKEPiorRUzMdhMZh4qKB1xErhgjUMa+Nfpc5p9pU5M5SBGb7vm5Bc6zLMzD8HEez7/h2apotma6nfEEVF7Tj5+LuDqpA3BQ7KaXzsLeEFIROw7UBZd+8ANCEKhwe1OyCxtTZ2oKKhGZz3tNdZ8mNS5KfXjmAo/Q+qATDIUDT87Ta+qd9gl+4D8GsFL78N3zJmj9u73e0nDhSIIdyEQxPvjDOVntYOZPVLxOXJ2xNBHCYaQ85WlmxthsDCAmyxHm5scZ+z3qldiAj85HK66YFMfxUsWpEPSV25i+4mvYVVtaUtX3IItqkB+Uc7Yi1FhAiPelv3fnFE71C7gKzpknbTzdoBmG8nExSRPy4IiYlRwOWAX8xugFIaKkiAeUT7sbUvZBWYWkI+yWOsjtOgCY0LLTDga/Vs95YU+59ppBeNqhgyLEUwz4TWBFLsoYFAZQ2DWrgF4tgkn18GjMkeSUjhMVGUpl2mnzdLDZboFTQrVtaytx7eCCjQQCjJV8tUigrFzgvFzjsWo41JfQg9wbV08MnvJyYtXbw31CbFHvN5DHgO3rb+Kj9SQRPduNweqsmqSOr/pv4dgosHuE8OW2iONOrDUXx31J9tguqVwHfb0B9z2eCPWRKGylIaHJ4JkyhH5UORS7wN7Hj0UyxIlVLiGRzU2nXpd4xq7bS3UMCOkdem7czRKh7MIb2ZAwqGgzWl1j5rd4f7Qq3JykfsPfq62xbHhqzZwilh31hp8qOsbse5oBj2CyW/da03ov0+ufVvsB4CNERcaKWDf2SUfYt7dmROZSYQ6wtoriy3Q8hy59ZVujPLp1+J7q5ZIlRTuhITaB6kyyTHEW+jL8bmNj8PTp4yy7U4+duHzd2lmaVAR93W6YFIlSh8bfZDUw4O ZnoKwl/S vQVhQGjJiDekXTu0Nn3W1O4jjKjPwh9t31imNjdhgirgMP/mMWwf0sCnVgEiuxMqD+RJB/ZWrf+sfh3kBz20pnpS5ssfhFx/t3H2v3Q0/bP0c+PcGLwQGG0cNI8do9pbj0zLFRqucBBIWutAuSNs0pTiK/S0l875LC+Vl8krgECeb8nnC+U7GHzznA56Q666AjQDgWUdDr39o7PockXjjHZ/YZ7VzqBU77B3rbo/ZJdpdrSOmrY2sX/w8h+/5+bn/G4DIgjhePr/CXxZiHMNRHzkfhBMQ7b/bDLk0 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: The only remaining user of mk_huge_pte() is the debug code, so remove the API and replace its use with pfn_pte() which lets us remove the conversion to a page first. We should always call arch_make_huge_pte() to turn this PTE into a huge PTE before operating on it with huge_pte_mkdirty() etc. Signed-off-by: Matthew Wilcox (Oracle) --- include/asm-generic/hugetlb.h | 5 ----- mm/debug_vm_pgtable.c | 18 +++++------------- 2 files changed, 5 insertions(+), 18 deletions(-) diff --git a/include/asm-generic/hugetlb.h b/include/asm-generic/hugetlb.h index f42133dae68e..710b77a1e0e8 100644 --- a/include/asm-generic/hugetlb.h +++ b/include/asm-generic/hugetlb.h @@ -5,11 +5,6 @@ #include #include -static inline pte_t mk_huge_pte(struct page *page, pgprot_t pgprot) -{ - return mk_pte(page, pgprot); -} - static inline unsigned long huge_pte_write(pte_t pte) { return pte_write(pte); diff --git a/mm/debug_vm_pgtable.c b/mm/debug_vm_pgtable.c index bc748f700a9e..7731b238b534 100644 --- a/mm/debug_vm_pgtable.c +++ b/mm/debug_vm_pgtable.c @@ -910,26 +910,18 @@ static void __init swap_migration_tests(struct pgtable_debug_args *args) #ifdef CONFIG_HUGETLB_PAGE static void __init hugetlb_basic_tests(struct pgtable_debug_args *args) { - struct page *page; pte_t pte; pr_debug("Validating HugeTLB basic\n"); - /* - * Accessing the page associated with the pfn is safe here, - * as it was previously derived from a real kernel symbol. - */ - page = pfn_to_page(args->fixed_pmd_pfn); - pte = mk_huge_pte(page, args->page_prot); + pte = pfn_pte(args->fixed_pmd_pfn, args->page_prot); + pte = arch_make_huge_pte(pte, PMD_SHIFT, VM_ACCESS_FLAGS); +#ifdef CONFIG_ARCH_WANT_GENERAL_HUGETLB + WARN_ON(!pte_huge(pte)); +#endif WARN_ON(!huge_pte_dirty(huge_pte_mkdirty(pte))); WARN_ON(!huge_pte_write(huge_pte_mkwrite(huge_pte_wrprotect(pte)))); WARN_ON(huge_pte_write(huge_pte_wrprotect(huge_pte_mkwrite(pte)))); - -#ifdef CONFIG_ARCH_WANT_GENERAL_HUGETLB - pte = pfn_pte(args->fixed_pmd_pfn, args->page_prot); - - WARN_ON(!pte_huge(arch_make_huge_pte(pte, PMD_SHIFT, VM_ACCESS_FLAGS))); -#endif /* CONFIG_ARCH_WANT_GENERAL_HUGETLB */ } #else /* !CONFIG_HUGETLB_PAGE */ static void __init hugetlb_basic_tests(struct pgtable_debug_args *args) { }