From mboxrd@z Thu Jan 1 00:00:00 1970 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 CA97EEB64DA for ; Thu, 22 Jun 2023 20:58:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6FC298D0002; Thu, 22 Jun 2023 16:58:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6AB2E8D0001; Thu, 22 Jun 2023 16:58:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 573A88D0002; Thu, 22 Jun 2023 16:58:57 -0400 (EDT) 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 44D158D0001 for ; Thu, 22 Jun 2023 16:58:57 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 22EC516045E for ; Thu, 22 Jun 2023 20:58:57 +0000 (UTC) X-FDA: 80931598314.13.075BDB9 Received: from mail-qk1-f180.google.com (mail-qk1-f180.google.com [209.85.222.180]) by imf05.hostedemail.com (Postfix) with ESMTP id 47D5D100018 for ; Thu, 22 Jun 2023 20:58:55 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=TppJif0B; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf05.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.222.180 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687467535; 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=0VT4pshsioiI3cvxCaccwxS3QnyiZywL9n+n1KwplTM=; b=Ibj4DtPZtFn2Nvf+wPpoa6WH19N4EG/R+Qf3fkWU2+L7HOByjKWe72QleSVtaFIP3eRPDT /W6AH+K1BTj0JX1mvjcTiUf1kY1QxhMGD5EGlxYriCV5goD7V5tgSSiAuGHxZRGUOPpwRg Rl48mGLpfxBZBhqM8odjHfm+V6aGR/0= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=TppJif0B; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf05.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.222.180 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687467535; a=rsa-sha256; cv=none; b=0/TPK5V+Hmhn7GxP4hEOj3hZwTd8ndd6a8HOloEItN2zom1i52uK4DuVc7N1AeBfn5zRmZ agUT/pB+B3FrEsha8sYEsngou8/geiUVF86AFdCf+10xG+4cAml7KuYmHVvMKPzwTkSdVw qm5Wnqh/2Q5kn0+aOjHegqpwCZRxK8o= Received: by mail-qk1-f180.google.com with SMTP id af79cd13be357-7624679c9c4so545979585a.1 for ; Thu, 22 Jun 2023 13:58:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687467534; x=1690059534; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0VT4pshsioiI3cvxCaccwxS3QnyiZywL9n+n1KwplTM=; b=TppJif0BHo6hnPlcQL9KC8WSGCLNYWnZ5TWCUGNi9Yse0euGomuzrLUl2hHWg+xOcN AtrgkmMfCUjy9KLBFfUuEG2s0Ihpe5FTyr5metIKFf6zbktuYMraC91YUKi/KWfbgyVG lvJTabP9ygpBud7nE/7yiG7FvQtoPgmdiRSK2sy5kuq4cEPaMRzkmi7ezbneoKdvpKLs RzOr7Yyw6OYIFnxYXzw+JpXxuwUJk+Gv++J63O8G6cjfEEYoESBKv3QgdI5Gny8Js2Dl u397T8c8ML9be3fyfcRz9z/KIcbHqeskiUObgkxyvqYvJ9bImtnagHyVKviaetoXJ3oC RmxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687467534; x=1690059534; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0VT4pshsioiI3cvxCaccwxS3QnyiZywL9n+n1KwplTM=; b=HpqQodJ5ISs55eWQt7crT4ceifOHqMHvRV1ODjR+Akpk4DUMbbN1diL32qN09+qL6S 4cdhY3rP05gMWghZNuC6AZGrMU1Tp4wDm7x8lw7EqY2MPNyTAIPdyvSXf0uFwYOTBMO9 6SZzZ1bDkEWsmOpeOpg8NTkbn2MFV/A5b43QeAGVyYuML69DT8AQMcDSAnySug6o0yx7 eJ9Nw09+W34j0WkVVz9x2YseOVo15GLWyB2Ss0BBYgQcG81onfppUM9Q5SUNCJxApZjd M6WuYhls99sI4+LNZN6JepvAwwOuUi6HnLwlVM9ZKqkkmJSPwpRSRzRfjmGKU4QJhEu3 BlsA== X-Gm-Message-State: AC+VfDwHLsOhehEtSTsan5mznGAj0pnzFnp/2wI+LYt6VHRTo979zLjr JvfwRTutXU4eeg9jiN76jMc= X-Google-Smtp-Source: ACHHUZ4bdUBNX+PQFkV86pN6qHx4P8fCpAOyeLEg1MMh49m7gk0ETU/OT0t4ehwniJxuP5YNErTIxg== X-Received: by 2002:a05:620a:2455:b0:763:de2c:1a8a with SMTP id h21-20020a05620a245500b00763de2c1a8amr6902545qkn.57.1687467534343; Thu, 22 Jun 2023 13:58:54 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::36]) by smtp.googlemail.com with ESMTPSA id d18-20020a5b0c52000000b00bc501a1b062sm1684937ybr.42.2023.06.22.13.58.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jun 2023 13:58:54 -0700 (PDT) From: "Vishal Moola (Oracle)" To: Andrew Morton , Matthew Wilcox Cc: linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-openrisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, xen-devel@lists.xenproject.org, kvm@vger.kernel.org, Hugh Dickins , "Vishal Moola (Oracle)" , Paul Walmsley , Palmer Dabbelt , Mike Rapoport Subject: [PATCH v5 28/33] riscv: Convert alloc_{pmd, pte}_late() to use ptdescs Date: Thu, 22 Jun 2023 13:57:40 -0700 Message-Id: <20230622205745.79707-29-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230622205745.79707-1-vishal.moola@gmail.com> References: <20230622205745.79707-1-vishal.moola@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 47D5D100018 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: xf8n5yu8e87qxfo69hbfwtwrueesoz8m X-HE-Tag: 1687467535-687978 X-HE-Meta: U2FsdGVkX1/lD6XIXqNx4MVfQupx4nHmiBx2mguf9ucdTN7LzSVgjbl0r1DGoKls4Y5bSOh/Ba/b2IevO4vRjQgnMpFxKKPYwKT64dQ5NUzgBTxwIEqS3FxAH/oqLCVUN7P8ZNPX1OpT9A06PvjM1ZReFZwmWMI4wuwBQWl4r18UIiw8EB3ySu1lFFamDS88Kjl37r0wLJJTYIpZ0QVa7fbmZmK6Ym2XrVF9JmnDdGSwux5jVH32x+/pbVB7CeYTBfmcDTcD5IBf/091c+PDPim8qD4tRmcUNOM9FqnqVubR19v6izfSacuc+mOsxKZsA6uok0erObjDMSgFVVD6qboZS7qPXwmSlnQeBqDfEWPPEwwfCGkILUMypiqlcgyf3CVvCJoB2AII1B+Ecwv65SUcWM5q/VQ8aRlktekELfCt2kox4ZMrSgwAohFLi3N+Rky0yMk1Yya2EppMIXj7VxwEQdfC6nlbGDAa5I0r14ZRlxeI6Jc45rClIIyBrKjyh4ofOonLA1R9vh7XBld9tuLt5R+Fm7B/8cvMlu41MLN4GVyXz+KOKnesHFEXHXv2MPzob8LV+yKl5PtzpMNH+uHg8DgLURNUrVJURcqxmp6mYSaW/QRvAiIns7ykiKZDO7DRjydrqE2a/h+7iS9ndltibzR9Ds37IL0MyQhDN/fvNvC6gokuEuyQoyupHyHPMUKCrM0sgN3tvaGHgcHFxX9I6NxYXJ2Hucsd+OOIK2jyjThV9EAVJbNoUZICWmW22TC4QENdmG38G0USR5rgoiouVUL6hxHl5D0SNHUQqSNPDxqF6ksN/lQmdzuLgwFLPAshiYFt2xKga1PgED7724lDAp6sL3+wIvGsOQAa5HMsYmhoAlYDuuEaQ/Z3MVoNeEJnU0UGuRnxskfkNWDQClq7CxLZFJdnklk2zwwNBBlTaD2u0E/HBrs7ReUx7bmHD6xQ6kIeipe/2G4AOr2 LKPYigh4 P2lSvXv2rdNlnK23g4qll0MTEm0lYC6EWKQ6Q9QXdU1LUyupsbOveZMKbKl/mPAo45DiEFWCEOcQiZAk9Q5arEhPMxDENhM+PEGw2a/z1HDyPhnfjvKToUL2o7PJf5uQJpDnRFopOr4+of2ZV2IpRq7LCbK8ayHfjWRjG64GZKbfpAiKf7qh0P0XmeLIujXHgRz6o5VoPBb2dkC00+1ba7Fkd69xXsTK/v2rMRrf413rK7CLNqRn3awvXy4pkiKTblnJUoujKxHQNlpEpoSLeJtgO694MerrrI4EYxwzyA53N2DgR5KG54CPU+EewwnjPFor4xWdEwn/JBDSiWyixql3fdNW+q2M0z8Ls4pY1GsQ9IasuW2UEiIAaqvPlv4WNW/bU0YpBk0uKu9xIWc70aXhSeVaOXkHxKhU+R9wI86792/d51dGPQauN1gFt5EVoNjrNHAO07MWsTajHRLF6/tWKUZl9qeZ8ObLQ77TuHosw8b2PFDEqKYA3l54yHKzwVrYeAiisMmFAfPT4OSBohn+0ULq6gUNhMNWjX8hALYadBoykbDqs5yTlIVTUGry5eLkDYJdNRnwDmemuR/IjNwOCHue7LNXTLl5UaWDp8/FbPyH5ZtOYXjxlhMVxNM9Pj/8jEVGQdmUsZLKMfQNdSjeUrktro2nSUPeU9kY7GprNFLTLgTl/SKOoa4l0um7mTvZn 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: As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use pagetable_alloc() and ptdesc_address() instead to help standardize page tables further. Signed-off-by: Vishal Moola (Oracle) Acked-by: Palmer Dabbelt Acked-by: Mike Rapoport (IBM) --- arch/riscv/include/asm/pgalloc.h | 8 ++++---- arch/riscv/mm/init.c | 16 ++++++---------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/arch/riscv/include/asm/pgalloc.h b/arch/riscv/include/asm/pgalloc.h index 59dc12b5b7e8..d169a4f41a2e 100644 --- a/arch/riscv/include/asm/pgalloc.h +++ b/arch/riscv/include/asm/pgalloc.h @@ -153,10 +153,10 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm) #endif /* __PAGETABLE_PMD_FOLDED */ -#define __pte_free_tlb(tlb, pte, buf) \ -do { \ - pgtable_pte_page_dtor(pte); \ - tlb_remove_page((tlb), pte); \ +#define __pte_free_tlb(tlb, pte, buf) \ +do { \ + pagetable_pte_dtor(page_ptdesc(pte)); \ + tlb_remove_page_ptdesc((tlb), page_ptdesc(pte));\ } while (0) #endif /* CONFIG_MMU */ diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index 4b95d8999120..efff9c752fcf 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -354,12 +354,10 @@ static inline phys_addr_t __init alloc_pte_fixmap(uintptr_t va) static phys_addr_t __init alloc_pte_late(uintptr_t va) { - unsigned long vaddr; - - vaddr = __get_free_page(GFP_KERNEL); - BUG_ON(!vaddr || !pgtable_pte_page_ctor(virt_to_page((void *)vaddr))); + struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL & ~__GFP_HIGHMEM, 0); - return __pa(vaddr); + BUG_ON(!ptdesc || !pagetable_pte_ctor(ptdesc)); + return __pa((pte_t *)ptdesc_address(ptdesc)); } static void __init create_pte_mapping(pte_t *ptep, @@ -437,12 +435,10 @@ static phys_addr_t __init alloc_pmd_fixmap(uintptr_t va) static phys_addr_t __init alloc_pmd_late(uintptr_t va) { - unsigned long vaddr; - - vaddr = __get_free_page(GFP_KERNEL); - BUG_ON(!vaddr || !pgtable_pmd_page_ctor(virt_to_page((void *)vaddr))); + struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL & ~__GFP_HIGHMEM, 0); - return __pa(vaddr); + BUG_ON(!ptdesc || !pagetable_pmd_ctor(ptdesc)); + return __pa((pmd_t *)ptdesc_address(ptdesc)); } static void __init create_pmd_mapping(pmd_t *pmdp, -- 2.40.1