From patchwork Mon Jun 12 21:03:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277345 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 B9E92C7EE2F for ; Mon, 12 Jun 2023 21:04:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4DD068E0008; Mon, 12 Jun 2023 17:04:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 48DCB8E0005; Mon, 12 Jun 2023 17:04:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 32DE98E0008; Mon, 12 Jun 2023 17:04:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 251618E0005 for ; Mon, 12 Jun 2023 17:04:51 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id F19E4A030A for ; Mon, 12 Jun 2023 21:04:50 +0000 (UTC) X-FDA: 80895325140.13.CC56B76 Received: from mail-yw1-f180.google.com (mail-yw1-f180.google.com [209.85.128.180]) by imf08.hostedemail.com (Postfix) with ESMTP id 3244B160014 for ; Mon, 12 Jun 2023 21:04:48 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=DHb+SR7K; spf=pass (imf08.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.180 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603889; 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=bX969DJmm0QSNKJIBN0sjsA5M6jg25Ht5D0PDUGbnFg=; b=VQwVJuL0fC3U9GOUSrXv+eB3Zbeb2zO3w/30I4mTnMkLg/NoBAkdg+tA4g6xHHTo29lyiD 9pX9BEKFMjRiVqHhXWg+WkKkVA2c2wZd66frM42f1dJsG7mEhEoRZyc7z+cku33atc7vZ4 Ju4DIrXCraU3KemYUV1Ip7l2Nmpz77Q= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=DHb+SR7K; spf=pass (imf08.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.180 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603889; a=rsa-sha256; cv=none; b=fk5jDnq6ilbunITHuMsRMkfD5FbLP1L0jjP0Ul9UUdoB8Ip+IlXSuBlPDyFEesQplSV+eb s/yKJw1HCfGWICGL1RLRDpwN2/9ccSK4vUH18iEKqirYcXQ+4Qo7shjO4PAsqwlETPI6oM lWIFrQyHvIBPR2MKeaubOzJaXx8wfuA= Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-56cf343a645so28299247b3.3 for ; Mon, 12 Jun 2023 14:04:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603888; x=1689195888; 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=bX969DJmm0QSNKJIBN0sjsA5M6jg25Ht5D0PDUGbnFg=; b=DHb+SR7KsGRi1DGfvFeb/cxlVpv7zXU0kX0me32XsqA75bRQ7Qg4ZCnHwXeAm+exma RyCRKTUKX0JKCLOqpLW0CXYvPaKDD9+dZndIAXIpXSKQZglxAQokLHyvAtkIDeRJVqHB 93y59nGI8Llned7VxveKPhJ65jNvn/1ZERJFDahHCyrGnH91U4DjxWNrantb6oBNpN6U mc695USGNTsgQHXOo9YrYcYMEcbqRFQyfPiEiGMLPB7dp4D7SFOp0ccqCy0RMalipiJb VM0Bf5j8094tpGlxI2i0lahWPWShioW25k+D4Vvon+EHV5/1d2e6qLRJOoGvyJt4DN4r Rfxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603888; x=1689195888; 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=bX969DJmm0QSNKJIBN0sjsA5M6jg25Ht5D0PDUGbnFg=; b=Di982eduasJd2SN/Gmyhir5BfBw6iSUNBPsR7AODWZ41hMwy/ZD5U0qAHQvzyGXLD4 VKuELrZkCqPBdyMSnVeo9QEJbIkuDla9X3R4IrgBD6esbtoCyrn2qVRHdff0taPtwwUo BCYlY6tewvhgcZtminWHtKkAFsW+k7IDHqYGCUNjdThswC469iw1kClU0PDyOlf2Js0A ABeiUjg8kVD/QXA7B+KnS4yWxtRXbQANw1JoDTO35AQ28fZ2Kq0cdlKI8TI81CEuol4T OCunaNfssFXsDxvdLYFNIUXo2MRHu1hfOnVkTZ15vVP2/oCPm3hIX8d0P6/DoY5mXvEK sHPg== X-Gm-Message-State: AC+VfDzy7mS0TYlvpdbQoZDkRNzLa5YlgGqNbp5bRAaYuHJJp82qeEwS Z13YfTbDw+RuQy4PnLfyySo= X-Google-Smtp-Source: ACHHUZ5kzgqtkXUhDflMob/cxrmRbtpI6j8wouGy2iBpxpeE5xKDHT022OIAglde1HGCV3lUDObTDw== X-Received: by 2002:a81:8406:0:b0:56d:858:7d04 with SMTP id u6-20020a818406000000b0056d08587d04mr5203603ywf.51.1686603888124; Mon, 12 Jun 2023 14:04:48 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.04.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:04:47 -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)" Subject: [PATCH v4 01/34] mm: Add PAGE_TYPE_OP folio functions Date: Mon, 12 Jun 2023 14:03:50 -0700 Message-Id: <20230612210423.18611-2-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 3244B160014 X-Rspam-User: X-Stat-Signature: a1g3jnxgjym4oxq4z6myz6a78wsairyw X-Rspamd-Server: rspam01 X-HE-Tag: 1686603888-55092 X-HE-Meta: U2FsdGVkX18DXmMyq5tA9qDhRN29ZvT7DPp6nv1nwQqix8DFur3nX9R9Nm48LiytHYRFkx20bQe1AoY/8qiBPCzRxJaJcglN/1nQI3QAW/ncczABgCFeRFwreF9HSS7wKMhUfoo9RmQjWVFnZZXwYLhcgtHGG/tWXP1scwDsSNSac1OqFUXQDN+c0I2RSKKmKMuLyXQE4066OHNTH3363Geq1ETuI1D0qQDokhpyHCF85QSWcMMezcXrLYYVFSrFT60iwgDHB9kztoCPOAd9wVVf+ltVff/KG5J7dctQX/YCq5cPG2J0LXP6bUgcbh6lVWjdU5JecGe7JM7q5B2rYqr74tlxp0FIYd/u9tc+GlR9k/dm0iYJC3r7AoQ6sNQIMjIescMvmblnXQevZ1BTcfYXEvf2fvDU5ImKzbX0/MRM7h9qPBPmjOZyXs5ZGNYpwZNOcwCLNnMuZBlowNzEhP6j86WxOghrKg2bndyH5nfQqptP1MJkOwZf4GH3F/iDKOytBHOUAcaSjWph9a2F/vQCAEjc7DHnCE+x05nVLPxB4vmuAuVJaKNP3Cpn07xxoN66cuNGpnC/1rNF8jVXbPbfZRA3gCI631q9AuBxTB0WraN5XIIqIEotdEUzUJlX9vDBGQfDFmbmpEOrazX5CAtaAsEHhYxvwGojSsT+VEJLbSJMWMkG28E5mN4q4CTh3t4hlUlQjt4cnMXAlzK0qA6U840Qe9ogH0W/mFkRYMzCNz5u31alLSm/wwIT3FNEMclKlvPKuMQIP0UyhTqT30Px5P0kZBQ27NIZJZRYsZK2GtFJKHh3IiNK9Hw41Zi0mTy/axHaMTltklfm8ED5rLAaS8XlOeRvkD/5dOSIkyk8UEnJywHTZmBoAO9eH2oVhpcTsDheyh2r0UAr6btcgg5j6Ozv6+dYAMrrwu4sKth52Oi5tw97LVq9/OGfcQSCyVMBd7NbJVVHrqukr3p UpNklYRM TxemjgH7vI8qsuo8HHOsJZzsJ+LCEzQSeJwKPZ72Vmgugh5aa+TO3OLg2N4KiVZpGlzkKnlqseIAXhXpNY3dYKozb8fnKtytPEHEvtnm8zcApR+xKk7t3vQwMjfPt9Qh8vWMoLtrqVd6CS/bKu5HLvawG2q+Kl2HaBTtVnj/RxZzpQByShWJyWVc7i1is9g3IekEV8Ix5361Xtg5B0zL4fvAkgQsKQZ5glr2u8adm+mYUaaDuiSqWHqDvNdpO9Rd5bsNRJMyn5jRwLsg8+VFZuZLoVoOM7n6ZtSJeyz3tMiYkmKEwGb/vzHNoSI+cugnpd2WqMJQB2U4aXyRbAdKW5yEKUWtPPIIXNLexjWdAHP1ADqC2o+Sycs+OCMSYB+FcMRakOU9+lmf7gGjwgZ0SVibl7gqGeKAfi+gBkMLVuyxF5pvF8yXWMV65DNdPJWQWXJrrxLMLG4Ai3pibxRaGTDTTN8+YFPORuQVvr2AqAF3MS2dapOqOTwAegE5hyTGMIH4froIaGa8Gc7Xm1wLWnzgHYtT4H7AqIo3X1WI1oGYtla+KUU7fO66CLF15NbMNW/KNPbmt1iQh69o= 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: No folio equivalents for page type operations have been defined, so define them for later folio conversions. Also changes the Page##uname macros to take in const struct page* since we only read the memory here. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- include/linux/page-flags.h | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 92a2063a0a23..e99a616b9bcd 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -908,6 +908,8 @@ static inline bool is_page_hwpoison(struct page *page) #define PageType(page, flag) \ ((page->page_type & (PAGE_TYPE_BASE | flag)) == PAGE_TYPE_BASE) +#define folio_test_type(folio, flag) \ + ((folio->page.page_type & (PAGE_TYPE_BASE | flag)) == PAGE_TYPE_BASE) static inline int page_type_has_type(unsigned int page_type) { @@ -920,20 +922,34 @@ static inline int page_has_type(struct page *page) } #define PAGE_TYPE_OPS(uname, lname) \ -static __always_inline int Page##uname(struct page *page) \ +static __always_inline int Page##uname(const struct page *page) \ { \ return PageType(page, PG_##lname); \ } \ +static __always_inline int folio_test_##lname(const struct folio *folio)\ +{ \ + return folio_test_type(folio, PG_##lname); \ +} \ static __always_inline void __SetPage##uname(struct page *page) \ { \ VM_BUG_ON_PAGE(!PageType(page, 0), page); \ page->page_type &= ~PG_##lname; \ } \ +static __always_inline void __folio_set_##lname(struct folio *folio) \ +{ \ + VM_BUG_ON_FOLIO(!folio_test_type(folio, 0), folio); \ + folio->page.page_type &= ~PG_##lname; \ +} \ static __always_inline void __ClearPage##uname(struct page *page) \ { \ VM_BUG_ON_PAGE(!Page##uname(page), page); \ page->page_type |= PG_##lname; \ -} +} \ +static __always_inline void __folio_clear_##lname(struct folio *folio) \ +{ \ + VM_BUG_ON_FOLIO(!folio_test_##lname(folio), folio); \ + folio->page.page_type |= PG_##lname; \ +} \ /* * PageBuddy() indicates that the page is free and in the buddy system From patchwork Mon Jun 12 21:03:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277346 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 719E8C88CB2 for ; Mon, 12 Jun 2023 21:04:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E7B6C8E0009; Mon, 12 Jun 2023 17:04:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E514D8E0005; Mon, 12 Jun 2023 17:04:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C7CAE8E0009; Mon, 12 Jun 2023 17:04:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id B851D8E0005 for ; Mon, 12 Jun 2023 17:04:53 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 7D8A7A0321 for ; Mon, 12 Jun 2023 21:04:53 +0000 (UTC) X-FDA: 80895325266.21.4F4BAC1 Received: from mail-oi1-f179.google.com (mail-oi1-f179.google.com [209.85.167.179]) by imf20.hostedemail.com (Postfix) with ESMTP id 9751C1C001C for ; Mon, 12 Jun 2023 21:04:51 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=lJvRaSYm; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf20.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.167.179 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=1686603891; 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=UyShpFpgVR6i39SmTUNSXyIOGqdGil6rpZQyINgvaNc=; b=YKFXU4DkQ66weoM9dby1UWc6IjluC6PGdMYITvOekpILjVm3DblN1kPPEiuMf9DsmQLfBr VdBQcVl9vQYj6faFQ/0QxQAX/qGZNUKxeFuN+NYM4U/Pd17YzSLUCqby4uRQo8Y+Ht6gUO erf17EaJZGkdXvcAARPFuq2GqHM4eTk= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=lJvRaSYm; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf20.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.167.179 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603891; a=rsa-sha256; cv=none; b=FbEC+EEZCNOr/ikCBVopNmX4F2y6LL7vmNJkBcOpJwej+aNu4KcrCPmPpp8ZEVxWEw0lLp 7yuhyK+pjo/DFv/+5PkwBvQWkcsi4k2IkQ6WTcAaa+D1AvVA2jgKBGCilrs6rdWo3ms6yr /lZStzBgf1azyAxIx/rsgJxHhbK/5ZY= Received: by mail-oi1-f179.google.com with SMTP id 5614622812f47-39a55e706deso1847996b6e.3 for ; Mon, 12 Jun 2023 14:04:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603890; x=1689195890; 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=UyShpFpgVR6i39SmTUNSXyIOGqdGil6rpZQyINgvaNc=; b=lJvRaSYm1Jh5V4r7TYzrSMIRzNaBV5SN7nn3sPeT/jo1IMPwPzq9N3Yf3bBYoJxMZw v/s9XKD5xWNVmdGTxeR0fZvEchZcIS0T7ycmmKwo+IiJpZzms4PbxfB/j9f5cguGfKcu 19tKUcAlt5RAZhhxls5QyHPdh1rv4sFgWmQQk4hBjlJgClQsKjqjLXKzEmKGAt3IccFx bTspEu7foB7PWo5Hitw1Rj3gfCpK9XVe/YXdBcF4RWSMuHrTJZvwCj8dZahlFpbKNlhX XA60O6Ll3Y4mL+q/EvCYaosPT9jPlRTpVyELoVIXfZ/Aan4STf1XXuMIyJLW3RN7kUz5 rtxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603890; x=1689195890; 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=UyShpFpgVR6i39SmTUNSXyIOGqdGil6rpZQyINgvaNc=; b=jqpheFsQ2PSMenahldGp8CHhPMuOVoT7caUH1m5805t3yJpfLcNrLLBhF77ZeqOlWD zVzDYl6F1vNs1pp9F+ocF4rYbO5fsK47iS1iS7DcI3p2a9CQFN7BIIBzi7Gbcy2wNcgS QITZCH3icLl8YK6irvYAFs05sLqkmYuZxuIWK5+HuBiwqYG39SfbZHXZxs+22l6GxIHf 9nBOsDOxvrclI9OBpkQa9Tk5O1SfHPUsJYln8Vfb+iSaT8eOSOp0wVNfk9UZuOTYF5Qy zMIaVFu1moJaEQfmwjfkAVC5gWS16vsteggm/7qBODHd+8lvPwLkLJngp2aNPJzPbYh9 yhOw== X-Gm-Message-State: AC+VfDywD5ZVS3COY6OKvdOaEei6FzpWj6I7daNUoOpPDrCOHpzV+83Q hyzvAes1igqSXUT6bieAXWk= X-Google-Smtp-Source: ACHHUZ4VM+m5NUYLn8c0v/glSn3np4BOPgR5n2geFm21VkPM9gOZaCC7fKIMLbwOz31LgZ3ui1xNPA== X-Received: by 2002:a05:6358:cb27:b0:129:cce3:a876 with SMTP id gr39-20020a056358cb2700b00129cce3a876mr2647493rwb.19.1686603890151; Mon, 12 Jun 2023 14:04:50 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.04.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:04:49 -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)" , David Hildenbrand , Claudio Imbrenda Subject: [PATCH v4 02/34] s390: Use _pt_s390_gaddr for gmap address tracking Date: Mon, 12 Jun 2023 14:03:51 -0700 Message-Id: <20230612210423.18611-3-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 9751C1C001C X-Stat-Signature: 11fnp11yzp3psunhxirbcx7ryg8z3s8z X-Rspam-User: X-HE-Tag: 1686603891-117070 X-HE-Meta: U2FsdGVkX1+Gh12s+YjA3UzqpJFPRpCJhuiIAbrUxse2u+QccnOIRypsUUVhaHv7KIz1xJKphMDyXvsXTdi2QwY9SbhT5eKcBTexPuCDYTrSkQWxalwGexEJ2Uu/b9sfMcd+UAbp2ndb4B1drUN9yvRVTHZ1m6ZFStSHOvLeKtSOYeQaijkgjZ73PLS9FcIt9p0qPfueGKre/lMU/MI0WrxSiukumySiLee5bgNpfrojbUaapdQqurVdvLbu9FarsYS5a5PG/yQloqtr2H5CioyXw0aQm6jZfLl7Z27urkgleOam+B4y9yTC1noU0hG/vnTEvOLLCvswQ7+Ss2nLtRdC7yGk+rf21rIsEjqy+gl5m2CbQw4g85qlV+OEOvrpEJCoeXIdqxQsgfzdj04F72heaNl36ViqH1bnUdgYnZiYv6w39lbtz04Ld+gCeMo7VUSDbeu/IhCCgi7go4G7sbyb46U4K+uG8csrWlxtMcojxdCuCsp6FVqDG37ur3SKWIKcQYuFxH1ILM3C6kj428OP20YFLCaLqTTfjJ6fKXOM1naPKtZoq89C4NIlJr8WroCOI81YvWxGlUU13INn8BpJ4+nXpVYIDiufKKXXA1ntPDNp+v9GtVKuZTkYyRfKP0wdazNSOVNFrYyoTzk9qd0mYGa33WU9XRjY1iy4EF3DLAG3OKiXBqd4qDwjtKgPgaPNrcRm16W1wQhTTBBTcE3KdDXoJDVOcyeXqkZyhKLHC77nhn14jZmXRwTs3TqHa2O06thngH0FU+uEVSsO3Qa+og9P8iPqEoPrDcsZGcoU5WYOJLPaUyBBqYizGb3Zg5Pc5LwKDfeNBoPhTJ2wBnADY7DoVtxBb2AT9nlkIyQhOEQX6tFAArCwWTKkp91uVefOLK46C3aImZDPLy3xBDqHjJKhB97wKNBIdzS7KI43zTTxXDx3Dr5X7xrk+oZsg42qP1S2LimxJF4D15U WdMZ8ZNL aFrw3KqXY1wocRM9M9+uwXqVn3nHjyRM4Jym2nskELdqPHUOOIUO94hsYOv1Njkq4IG70mwPwlw1Fae7vVY2IV0AzZUfzBJFlMcpppc6XnY7FkqDswfAZyiOWNN5bpPHO9imq4fiMePGB6C8DMF/C84A62BgFScJFLCkAKtvguLGChW14NTaEtZ0h4FxfJZLbmsbUz+3MgepTe6UcuHsMtYjj93nIF1vnUMO2vaPbMDdBeYFkbw/nMt5hhREViK7f8GnIXN/T9raxBumO9w58z3CX+Zb/U50kZ7W4PzVvkf8CgdAhQ8aucFjolYeGDTMQzj0qBmtSlY88xSqKV/C0HV1nnnC2u8gD8SxmPhmvOFqo6pzi37F1H4UF67n4JPECwkPnPVDjTJjt1ArQEf+jLpSQ4/cDvr/RY/39wu/yoK5iK3PWD+VyX/S9wm7I9pwmxhdbhzXlQyCEkFAdFBxQC92k/B/01t5x6ZKnfVcJRV9ls4Q5S4kDvm1SO4cw2ZRQf5xTzZ4SzkFb16yXmeZtfciqi59+RNHIzh3SDu4tQoHEkrtgY70un9/2z5TlYgMEm0S4uofOxXeckrc= 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: s390 uses page->index to keep track of page tables for the guest address space. In an attempt to consolidate the usage of page fields in s390, replace _pt_pad_2 with _pt_s390_gaddr to replace page->index in gmap. This will help with the splitting of struct ptdesc from struct page, as well as allow s390 to use _pt_frag_refcount for fragmented page table tracking. Since page->_pt_s390_gaddr aliases with mapping, ensure its set to NULL before freeing the pages as well. This also reverts commit 7e25de77bc5ea ("s390/mm: use pmd_pgtable_page() helper in __gmap_segment_gaddr()") which had s390 use pmd_pgtable_page() to get a gmap page table, as pmd_pgtable_page() should be used for more generic process page tables. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- arch/s390/mm/gmap.c | 56 +++++++++++++++++++++++++++------------- include/linux/mm_types.h | 2 +- 2 files changed, 39 insertions(+), 19 deletions(-) diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c index dc90d1eb0d55..81c683426b49 100644 --- a/arch/s390/mm/gmap.c +++ b/arch/s390/mm/gmap.c @@ -70,7 +70,7 @@ static struct gmap *gmap_alloc(unsigned long limit) page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); if (!page) goto out_free; - page->index = 0; + page->_pt_s390_gaddr = 0; list_add(&page->lru, &gmap->crst_list); table = page_to_virt(page); crst_table_init(table, etype); @@ -187,16 +187,20 @@ static void gmap_free(struct gmap *gmap) if (!(gmap_is_shadow(gmap) && gmap->removed)) gmap_flush_tlb(gmap); /* Free all segment & region tables. */ - list_for_each_entry_safe(page, next, &gmap->crst_list, lru) + list_for_each_entry_safe(page, next, &gmap->crst_list, lru) { + page->_pt_s390_gaddr = 0; __free_pages(page, CRST_ALLOC_ORDER); + } gmap_radix_tree_free(&gmap->guest_to_host); gmap_radix_tree_free(&gmap->host_to_guest); /* Free additional data for a shadow gmap */ if (gmap_is_shadow(gmap)) { /* Free all page tables. */ - list_for_each_entry_safe(page, next, &gmap->pt_list, lru) + list_for_each_entry_safe(page, next, &gmap->pt_list, lru) { + page->_pt_s390_gaddr = 0; page_table_free_pgste(page); + } gmap_rmap_radix_tree_free(&gmap->host_to_rmap); /* Release reference to the parent */ gmap_put(gmap->parent); @@ -318,12 +322,14 @@ static int gmap_alloc_table(struct gmap *gmap, unsigned long *table, list_add(&page->lru, &gmap->crst_list); *table = __pa(new) | _REGION_ENTRY_LENGTH | (*table & _REGION_ENTRY_TYPE_MASK); - page->index = gaddr; + page->_pt_s390_gaddr = gaddr; page = NULL; } spin_unlock(&gmap->guest_table_lock); - if (page) + if (page) { + page->_pt_s390_gaddr = 0; __free_pages(page, CRST_ALLOC_ORDER); + } return 0; } @@ -336,12 +342,14 @@ static int gmap_alloc_table(struct gmap *gmap, unsigned long *table, static unsigned long __gmap_segment_gaddr(unsigned long *entry) { struct page *page; - unsigned long offset; + unsigned long offset, mask; offset = (unsigned long) entry / sizeof(unsigned long); offset = (offset & (PTRS_PER_PMD - 1)) * PMD_SIZE; - page = pmd_pgtable_page((pmd_t *) entry); - return page->index + offset; + mask = ~(PTRS_PER_PMD * sizeof(pmd_t) - 1); + page = virt_to_page((void *)((unsigned long) entry & mask)); + + return page->_pt_s390_gaddr + offset; } /** @@ -1351,6 +1359,7 @@ static void gmap_unshadow_pgt(struct gmap *sg, unsigned long raddr) /* Free page table */ page = phys_to_page(pgt); list_del(&page->lru); + page->_pt_s390_gaddr = 0; page_table_free_pgste(page); } @@ -1379,6 +1388,7 @@ static void __gmap_unshadow_sgt(struct gmap *sg, unsigned long raddr, /* Free page table */ page = phys_to_page(pgt); list_del(&page->lru); + page->_pt_s390_gaddr = 0; page_table_free_pgste(page); } } @@ -1409,6 +1419,7 @@ static void gmap_unshadow_sgt(struct gmap *sg, unsigned long raddr) /* Free segment table */ page = phys_to_page(sgt); list_del(&page->lru); + page->_pt_s390_gaddr = 0; __free_pages(page, CRST_ALLOC_ORDER); } @@ -1437,6 +1448,7 @@ static void __gmap_unshadow_r3t(struct gmap *sg, unsigned long raddr, /* Free segment table */ page = phys_to_page(sgt); list_del(&page->lru); + page->_pt_s390_gaddr = 0; __free_pages(page, CRST_ALLOC_ORDER); } } @@ -1467,6 +1479,7 @@ static void gmap_unshadow_r3t(struct gmap *sg, unsigned long raddr) /* Free region 3 table */ page = phys_to_page(r3t); list_del(&page->lru); + page->_pt_s390_gaddr = 0; __free_pages(page, CRST_ALLOC_ORDER); } @@ -1495,6 +1508,7 @@ static void __gmap_unshadow_r2t(struct gmap *sg, unsigned long raddr, /* Free region 3 table */ page = phys_to_page(r3t); list_del(&page->lru); + page->_pt_s390_gaddr = 0; __free_pages(page, CRST_ALLOC_ORDER); } } @@ -1525,6 +1539,7 @@ static void gmap_unshadow_r2t(struct gmap *sg, unsigned long raddr) /* Free region 2 table */ page = phys_to_page(r2t); list_del(&page->lru); + page->_pt_s390_gaddr = 0; __free_pages(page, CRST_ALLOC_ORDER); } @@ -1557,6 +1572,7 @@ static void __gmap_unshadow_r1t(struct gmap *sg, unsigned long raddr, /* Free region 2 table */ page = phys_to_page(r2t); list_del(&page->lru); + page->_pt_s390_gaddr = 0; __free_pages(page, CRST_ALLOC_ORDER); } } @@ -1762,9 +1778,9 @@ int gmap_shadow_r2t(struct gmap *sg, unsigned long saddr, unsigned long r2t, page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); if (!page) return -ENOMEM; - page->index = r2t & _REGION_ENTRY_ORIGIN; + page->_pt_s390_gaddr = r2t & _REGION_ENTRY_ORIGIN; if (fake) - page->index |= GMAP_SHADOW_FAKE_TABLE; + page->_pt_s390_gaddr |= GMAP_SHADOW_FAKE_TABLE; s_r2t = page_to_phys(page); /* Install shadow region second table */ spin_lock(&sg->guest_table_lock); @@ -1814,6 +1830,7 @@ int gmap_shadow_r2t(struct gmap *sg, unsigned long saddr, unsigned long r2t, return rc; out_free: spin_unlock(&sg->guest_table_lock); + page->_pt_s390_gaddr = 0; __free_pages(page, CRST_ALLOC_ORDER); return rc; } @@ -1846,9 +1863,9 @@ int gmap_shadow_r3t(struct gmap *sg, unsigned long saddr, unsigned long r3t, page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); if (!page) return -ENOMEM; - page->index = r3t & _REGION_ENTRY_ORIGIN; + page->_pt_s390_gaddr = r3t & _REGION_ENTRY_ORIGIN; if (fake) - page->index |= GMAP_SHADOW_FAKE_TABLE; + page->_pt_s390_gaddr |= GMAP_SHADOW_FAKE_TABLE; s_r3t = page_to_phys(page); /* Install shadow region second table */ spin_lock(&sg->guest_table_lock); @@ -1898,6 +1915,7 @@ int gmap_shadow_r3t(struct gmap *sg, unsigned long saddr, unsigned long r3t, return rc; out_free: spin_unlock(&sg->guest_table_lock); + page->_pt_s390_gaddr = 0; __free_pages(page, CRST_ALLOC_ORDER); return rc; } @@ -1930,9 +1948,9 @@ int gmap_shadow_sgt(struct gmap *sg, unsigned long saddr, unsigned long sgt, page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); if (!page) return -ENOMEM; - page->index = sgt & _REGION_ENTRY_ORIGIN; + page->_pt_s390_gaddr = sgt & _REGION_ENTRY_ORIGIN; if (fake) - page->index |= GMAP_SHADOW_FAKE_TABLE; + page->_pt_s390_gaddr |= GMAP_SHADOW_FAKE_TABLE; s_sgt = page_to_phys(page); /* Install shadow region second table */ spin_lock(&sg->guest_table_lock); @@ -1982,6 +2000,7 @@ int gmap_shadow_sgt(struct gmap *sg, unsigned long saddr, unsigned long sgt, return rc; out_free: spin_unlock(&sg->guest_table_lock); + page->_pt_s390_gaddr = 0; __free_pages(page, CRST_ALLOC_ORDER); return rc; } @@ -2014,9 +2033,9 @@ int gmap_shadow_pgt_lookup(struct gmap *sg, unsigned long saddr, if (table && !(*table & _SEGMENT_ENTRY_INVALID)) { /* Shadow page tables are full pages (pte+pgste) */ page = pfn_to_page(*table >> PAGE_SHIFT); - *pgt = page->index & ~GMAP_SHADOW_FAKE_TABLE; + *pgt = page->_pt_s390_gaddr & ~GMAP_SHADOW_FAKE_TABLE; *dat_protection = !!(*table & _SEGMENT_ENTRY_PROTECT); - *fake = !!(page->index & GMAP_SHADOW_FAKE_TABLE); + *fake = !!(page->_pt_s390_gaddr & GMAP_SHADOW_FAKE_TABLE); rc = 0; } else { rc = -EAGAIN; @@ -2054,9 +2073,9 @@ int gmap_shadow_pgt(struct gmap *sg, unsigned long saddr, unsigned long pgt, page = page_table_alloc_pgste(sg->mm); if (!page) return -ENOMEM; - page->index = pgt & _SEGMENT_ENTRY_ORIGIN; + page->_pt_s390_gaddr = pgt & _SEGMENT_ENTRY_ORIGIN; if (fake) - page->index |= GMAP_SHADOW_FAKE_TABLE; + page->_pt_s390_gaddr |= GMAP_SHADOW_FAKE_TABLE; s_pgt = page_to_phys(page); /* Install shadow page table */ spin_lock(&sg->guest_table_lock); @@ -2101,6 +2120,7 @@ int gmap_shadow_pgt(struct gmap *sg, unsigned long saddr, unsigned long pgt, return rc; out_free: spin_unlock(&sg->guest_table_lock); + page->_pt_s390_gaddr = 0; page_table_free_pgste(page); return rc; diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 306a3d1a0fa6..6161fe1ae5b8 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -144,7 +144,7 @@ struct page { struct { /* Page table pages */ unsigned long _pt_pad_1; /* compound_head */ pgtable_t pmd_huge_pte; /* protected by page->ptl */ - unsigned long _pt_pad_2; /* mapping */ + unsigned long _pt_s390_gaddr; /* mapping */ union { struct mm_struct *pt_mm; /* x86 pgds only */ atomic_t pt_frag_refcount; /* powerpc */ From patchwork Mon Jun 12 21:03:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277347 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 63E34C7EE43 for ; Mon, 12 Jun 2023 21:04:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E7A198E000A; Mon, 12 Jun 2023 17:04:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E03428E0005; Mon, 12 Jun 2023 17:04:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C55D98E000A; Mon, 12 Jun 2023 17:04:55 -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 B7D9A8E0005 for ; Mon, 12 Jun 2023 17:04:55 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 8D090AF6F6 for ; Mon, 12 Jun 2023 21:04:55 +0000 (UTC) X-FDA: 80895325350.26.5A7A957 Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) by imf25.hostedemail.com (Postfix) with ESMTP id A45B5A000C for ; Mon, 12 Jun 2023 21:04:53 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=NyvAW5xc; spf=pass (imf25.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.177 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603893; 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=V5BTNYEJrMvEdgPHE9qghL8qlsXVOst+iBLMKLVFrSI=; b=tnU9lH37J172IMhj2hh7snHfRkFLbbXiC5dKCsSLCW/doH2+krj6UrjEloIuzggejiz6q9 x8tlrTLaZwLZdOO/VWScjUp4qJUhDVtIe0PG+6a5yAw/cf1HBd0xPbP7by5ENTRtzinKnt e3Yti4fnCB7X79swa/Wj9IE33SObivE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603893; a=rsa-sha256; cv=none; b=2Ap+ExEJSJI3eSBWDw2CL/S/JxXI9fbWxsM1JkIk7PziBLHbGX+UE22WgP3mlVzHN+aooT A5WwNoJ9Ef3tnstv3+97l50B7VAC+6THVq6v6kqTTwhwHSJl0rpphzLi/SmUJuw+NmHib8 LnaDWEHjkDhjH+cpN81Y4a9iD9/8vdw= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=NyvAW5xc; spf=pass (imf25.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.177 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-6549df4321aso4980251b3a.2 for ; Mon, 12 Jun 2023 14:04:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603892; x=1689195892; 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=V5BTNYEJrMvEdgPHE9qghL8qlsXVOst+iBLMKLVFrSI=; b=NyvAW5xcJ/1RwE9QmSiFJ+QoLspe4N8bc4rT8FqwnwCneI2MtPt+zR2zPpLqApF4NL U1okS2jcBv5boWFVjS3ZWFOO57AXCrm8924Yzy4TWhUVvSSQaBnBXCQN1FwgNux+a5wh DsFZHudMr3gw7SxF9mDXLpRFyJexdPdYzbIm/1S5JJIGYV9GOI+NthRwDASTis3Fze4p V6ixmPm9cBdQ1cAVmEM6h/YPAwNhp4idZwgbxQNshhMy1ADo1GloFQRBJ0Q5sP9FFktv iWvvuohJvJZTnnhPK8vd97XGBVPC/qP/sL8+3CeVXYInAaBFtRMw40MKTPvSoWZiFPoO gspg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603892; x=1689195892; 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=V5BTNYEJrMvEdgPHE9qghL8qlsXVOst+iBLMKLVFrSI=; b=gIZcuBlZKjMrJCw5Ikv2U8II38/bNdTXmhCNEaoy5iR13YW+kBMrRuaG/fsMU3bGbu B8rhGSLiyFriWwW+BU4Kv2jFme4tJgQSGmCd09IGfkvDRcaDvK9EEB+3n+98ZBhZ+rv/ noONdgr+vw6WUIlnEQ4WlK1l/PAonts9ee9K93IpY+DrIuV+9hmbsF7EGcin0W5RHGbC ePg49k+hKuDXan8Cji6OU0aojqCyheXCUQLdNbuY+gE0u10k9AYGFWULlfSXZM4alFzr k+45DzMVs7CZBtZdjLXuiCc+TzV+hqaj3LB2vmuCQ13VGnua7hR6bRqZK2XAHIgirjT7 5krg== X-Gm-Message-State: AC+VfDzpxwh17FeWcZk+IUis2dU6jEuRjmebJI82xS91CZJCWZevFvx9 YGX2XrTceeok+sPb5V8jOz8= X-Google-Smtp-Source: ACHHUZ7txlwQKhNIkJlSWkpy4O9/GHkXq934dfDZR66J7e8THGAZbbGg45zrTEyJTMim3NRAIaYTPA== X-Received: by 2002:a05:6a20:e617:b0:10c:2349:459e with SMTP id my23-20020a056a20e61700b0010c2349459emr10483492pzb.10.1686603892270; Mon, 12 Jun 2023 14:04:52 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.04.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:04:51 -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)" , David Hildenbrand , Claudio Imbrenda Subject: [PATCH v4 03/34] s390: Use pt_frag_refcount for pagetables Date: Mon, 12 Jun 2023 14:03:52 -0700 Message-Id: <20230612210423.18611-4-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: A45B5A000C X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: tod7kn381ubfthb14qu7e3gyjkt7dg87 X-HE-Tag: 1686603893-81164 X-HE-Meta: U2FsdGVkX19je0avX3R6LI4dfiR9slnPiYEcvrcVRMhCH9rIndvihLig7KVjV/HKUcXF/qI3e+AIbbupE9IuUVT7Dr12ylS4qyWTxOZOHHjIDsgcyKgaXLN1Or8w0tCE7mIZJFeQT6w+b/KmyfnO5wdfakqBGkHQuxpbLCNT1E1Cj1FH1WqsvPTQFTOc9KIxpWuP8wneAMPy68QWgnQDZRDcZX/gs/vF2LFQ0kLxI5cut7kIAGg67cEkm1DPK4oRiOIqqTBFrfVZWk8QuOPyzyYDXmjdx8SDiTToADnSPvz0sjLpAKlFNWVanDVmm+7p3xPONfb3uaiQcbL1I35Q573YhKCNXRDMgIlu7/BnkQ+C9/aRQmnTJkFy3KVIbUcW0X+ISWJz2gb3jpLaw8RZtKgBg08ZJHANAsopSpFlfhYc4hWPLjW98NstrAgzt1av4h9nfqveHLfFFl3588aLbX1ix+rPhfu5atwWLXpY8VZwvuDmg8duatPwKUlWZjznEEyXIqYqzIg5G0TJ9XvQREmPMWBm0q5asRiOAvV4zf40G7abgPGp4XWTiUipFZ4Avaz341erqRemUdcUtu5RWRie5hgVjevZYE3HQZQGueeF7mX9pVz3/NuNHfHTSZu2PcGLX82nHmaiQdFxHfCpOpJNvU0t3QTUuYnB2q3aqeZkno/0bCGzabPoOByD+N/lYnvHKf5YpKWiFwCEHpeUJ8qNtj0GmRff36+VkWKaVQPmI+FmDy54Xtr4o4I5t0bx/PdrxJCYUX3wsvg2tn0vm2h/F0pqMuxpNKF2p9utGUfuWP6gBZnuxsEo7wFKmJ3zakvBauN7CyYL3WLeGFohlSNincCC1pt57/TRSNfafmyF5+1XFsOrwy8GppX7cmTmfYFXoFLMu+WenGbGL6hvkXmzVV0VdeZfuK5dKDsG5ZB+gnH902i/uWTC31GQDvq/rvWMofkR5uMRyocOVUe YLnDImtu lM8llSiGqjWNXu1pWJnJ/+WzfRffV8tCkRIJZbCg1TsHDO7q7wgyvUEb3zFvk6wc3Jpm6ejxWgs/O+Z6gb9MiL7f5qTSaQkXgFHKQ6d7lPNAOEa+pokzSi5UAGsQfTOejIlfpi7NNsEeTLH2alEidThaLKEuoqq0yiDpPdCR6nZdWK1aP1fIXnlqK/wrM66pc8/ZK3z8czb7tksJZfb/Ax29VzAabjg6XPgIkOUw6uxU2ozUH0Ve8pnPoZDLAPln/xLz6hHSjrjf36Pg74IRYRsi57wEv3rk/N0Fc3HklyX24erzG4QsoP/hyHfJilQI6R2U35QFg1Db7+Ux7kU9rC6uqF4m3I0z9eEfZ46BWlAiFah2BfSyjuLGpCeXQBCHw0MkOkS43VxAqLLwnhE9ICYCvZJllDi6EUfHfEIAhF1MqzsBAvVnpnAPD4I5r/09ppNqduno+kDeORyuKpxAtzhdJkjNwJLMSkTUZX1IZftDFvsueg42kQEFH6ndmLrGnUCLsfGj7YxKq+LTeJHAl4BrdPcpnIz5g541u6Tyybibuy1ww9xamnDapU48JToCZfuKrl0n5oRjymGA= 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: s390 currently uses _refcount to identify fragmented page tables. The page table struct already has a member pt_frag_refcount used by powerpc, so have s390 use that instead of the _refcount field as well. This improves the safety for _refcount and the page table tracking. This also allows us to simplify the tracking since we can once again use the lower byte of pt_frag_refcount instead of the upper byte of _refcount. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- arch/s390/mm/pgalloc.c | 38 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c index 66ab68db9842..6b99932abc66 100644 --- a/arch/s390/mm/pgalloc.c +++ b/arch/s390/mm/pgalloc.c @@ -182,20 +182,17 @@ void page_table_free_pgste(struct page *page) * As follows from the above, no unallocated or fully allocated parent * pages are contained in mm_context_t::pgtable_list. * - * The upper byte (bits 24-31) of the parent page _refcount is used + * The lower byte (bits 0-7) of the parent page pt_frag_refcount is used * for tracking contained 2KB-pgtables and has the following format: * * PP AA - * 01234567 upper byte (bits 24-31) of struct page::_refcount + * 01234567 upper byte (bits 0-7) of struct page::pt_frag_refcount * || || * || |+--- upper 2KB-pgtable is allocated * || +---- lower 2KB-pgtable is allocated * |+------- upper 2KB-pgtable is pending for removal * +-------- lower 2KB-pgtable is pending for removal * - * (See commit 620b4e903179 ("s390: use _refcount for pgtables") on why - * using _refcount is possible). - * * When 2KB-pgtable is allocated the corresponding AA bit is set to 1. * The parent page is either: * - added to mm_context_t::pgtable_list in case the second half of the @@ -243,11 +240,12 @@ unsigned long *page_table_alloc(struct mm_struct *mm) if (!list_empty(&mm->context.pgtable_list)) { page = list_first_entry(&mm->context.pgtable_list, struct page, lru); - mask = atomic_read(&page->_refcount) >> 24; + mask = atomic_read(&page->pt_frag_refcount); /* * The pending removal bits must also be checked. * Failure to do so might lead to an impossible - * value of (i.e 0x13 or 0x23) written to _refcount. + * value of (i.e 0x13 or 0x23) written to + * pt_frag_refcount. * Such values violate the assumption that pending and * allocation bits are mutually exclusive, and the rest * of the code unrails as result. That could lead to @@ -259,8 +257,8 @@ unsigned long *page_table_alloc(struct mm_struct *mm) bit = mask & 1; /* =1 -> second 2K */ if (bit) table += PTRS_PER_PTE; - atomic_xor_bits(&page->_refcount, - 0x01U << (bit + 24)); + atomic_xor_bits(&page->pt_frag_refcount, + 0x01U << bit); list_del(&page->lru); } } @@ -281,12 +279,12 @@ unsigned long *page_table_alloc(struct mm_struct *mm) table = (unsigned long *) page_to_virt(page); if (mm_alloc_pgste(mm)) { /* Return 4K page table with PGSTEs */ - atomic_xor_bits(&page->_refcount, 0x03U << 24); + atomic_xor_bits(&page->pt_frag_refcount, 0x03U); memset64((u64 *)table, _PAGE_INVALID, PTRS_PER_PTE); memset64((u64 *)table + PTRS_PER_PTE, 0, PTRS_PER_PTE); } else { /* Return the first 2K fragment of the page */ - atomic_xor_bits(&page->_refcount, 0x01U << 24); + atomic_xor_bits(&page->pt_frag_refcount, 0x01U); memset64((u64 *)table, _PAGE_INVALID, 2 * PTRS_PER_PTE); spin_lock_bh(&mm->context.lock); list_add(&page->lru, &mm->context.pgtable_list); @@ -323,22 +321,19 @@ void page_table_free(struct mm_struct *mm, unsigned long *table) * will happen outside of the critical section from this * function or from __tlb_remove_table() */ - mask = atomic_xor_bits(&page->_refcount, 0x11U << (bit + 24)); - mask >>= 24; + mask = atomic_xor_bits(&page->pt_frag_refcount, 0x11U << bit); if (mask & 0x03U) list_add(&page->lru, &mm->context.pgtable_list); else list_del(&page->lru); spin_unlock_bh(&mm->context.lock); - mask = atomic_xor_bits(&page->_refcount, 0x10U << (bit + 24)); - mask >>= 24; + mask = atomic_xor_bits(&page->pt_frag_refcount, 0x10U << bit); if (mask != 0x00U) return; half = 0x01U << bit; } else { half = 0x03U; - mask = atomic_xor_bits(&page->_refcount, 0x03U << 24); - mask >>= 24; + mask = atomic_xor_bits(&page->pt_frag_refcount, 0x03U); } page_table_release_check(page, table, half, mask); @@ -368,8 +363,7 @@ void page_table_free_rcu(struct mmu_gather *tlb, unsigned long *table, * outside of the critical section from __tlb_remove_table() or from * page_table_free() */ - mask = atomic_xor_bits(&page->_refcount, 0x11U << (bit + 24)); - mask >>= 24; + mask = atomic_xor_bits(&page->pt_frag_refcount, 0x11U << bit); if (mask & 0x03U) list_add_tail(&page->lru, &mm->context.pgtable_list); else @@ -391,14 +385,12 @@ void __tlb_remove_table(void *_table) return; case 0x01U: /* lower 2K of a 4K page table */ case 0x02U: /* higher 2K of a 4K page table */ - mask = atomic_xor_bits(&page->_refcount, mask << (4 + 24)); - mask >>= 24; + mask = atomic_xor_bits(&page->pt_frag_refcount, mask << 4); if (mask != 0x00U) return; break; case 0x03U: /* 4K page table with pgstes */ - mask = atomic_xor_bits(&page->_refcount, 0x03U << 24); - mask >>= 24; + mask = atomic_xor_bits(&page->pt_frag_refcount, 0x03U); break; } From patchwork Mon Jun 12 21:03:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277348 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 0A3D5C7EE2F for ; Mon, 12 Jun 2023 21:04:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 85FFA8E0005; Mon, 12 Jun 2023 17:04:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7E9F994000B; Mon, 12 Jun 2023 17:04:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 663778E000B; Mon, 12 Jun 2023 17:04:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 5416E8E0005 for ; Mon, 12 Jun 2023 17:04:57 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 28859A0332 for ; Mon, 12 Jun 2023 21:04:57 +0000 (UTC) X-FDA: 80895325434.13.7241A87 Received: from mail-oa1-f48.google.com (mail-oa1-f48.google.com [209.85.160.48]) by imf11.hostedemail.com (Postfix) with ESMTP id 38E544001E for ; Mon, 12 Jun 2023 21:04:55 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=kXhs64xM; spf=pass (imf11.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.160.48 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603895; 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=ljdqluisjsw1T2S09X4eHyFy2qx+wqxffRAjzd8Lr/M=; b=JAUhV9yIyaivtkiF5XbFWQyM3VPNiUFAayXYJ2gEk76ZkKb50bktLk/+E8TL7C/xfZycsR H+n6I4sLCDCBsWlzdPfLsb0sZ8ZDovsJIIJAAKlSo2As4Mnl3RlvtiHZUn0gHGz/PDuSyf Dtbgs5E/wGm1aa/jko62gegbLG+tvLo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603895; a=rsa-sha256; cv=none; b=cVE58Kz0vDlK0YWhvKuXiWIhfx4EPHOcKjPWCmOPOwYjw2sqFfYuFuOzEHzDDEiT8ULdSh ou68inugHLnBcgVAZd4BH3gY+kNiKqKSMAF6EMG3o0zbL+EVER8zP9DrIpPakVyFCEdAfG W73vXIb8RONCyeGuQqnJSSqbsJqYJn8= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=kXhs64xM; spf=pass (imf11.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.160.48 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-oa1-f48.google.com with SMTP id 586e51a60fabf-1a3897d9697so3578750fac.2 for ; Mon, 12 Jun 2023 14:04:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603894; x=1689195894; 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=ljdqluisjsw1T2S09X4eHyFy2qx+wqxffRAjzd8Lr/M=; b=kXhs64xMe2DVLtVyKP8s5V9ZG7303479O9N/ToVEDXv1Gbm2sbmI/fCFK4uGChjd81 H6kVjd8TOmWAnbLRs4zxfvez/oEYXs2XwY0nLHoNXXHUhU8y7b7V442KEyA9t5B9q0Uq 4QLgvZ36Wl/+n0Pso7S7rQM028p+NfGQr9Yw1FiqoIIWOMPYwEq7/a7S5+qCahfgFwfk /tBZy6zuFg7ypVrVCmXYQ0dxFeVbbzBl8iAc+EUXGUcIwns5danLCJs4qv8DZQXG/O2x E2z06iVumBlee2giB3swtpcGSjTtcpgqJNat/RjdgRm72hK9QqxESqcl6ywJsUBEizO2 9nAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603894; x=1689195894; 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=ljdqluisjsw1T2S09X4eHyFy2qx+wqxffRAjzd8Lr/M=; b=Yfqa9rSG8GTpomNcplFa/dUvI6SOKJp3hPywP8ZtBEglxEHZmhnk7ZOvouDUJI1RKc DgdtqbgAf79j+JouJPVSa8RaYX3Jrdg1qnSaZa/VBtkvgVcSsDwfCGZ+uccmlJ4z2wT8 wdVb7YajfXI4HaZgrXEwWwTdzSnZpDgWaIjoOYBgmRuA89m3bdBzo//xIRdO/2lnLkw2 P2nFVyrQAqQiVuyogWFsA1ryEkqi2rNezCeZAV5q+UjTCGQvMM2htof7Ou8r0gVRpRm4 PWvawqztULi4ZeMlS3z5IpxMvLycssjCsIU6HRBNTtAgRK7eAr0ovpfQTQjUG5R/wrRX Y+VQ== X-Gm-Message-State: AC+VfDwoDibq5simZaoVpTvywGOd9Ki84fHHBcTB7H5ax+8HEm5xgKro c23UDcdIuR6930Mv0qCc0ygz/MLMBqFaqw== X-Google-Smtp-Source: ACHHUZ6qMtsAIJRXZ8Ey4kYlwwJ6x1NqBtbJDNBqsW5hbZHAQ7e3oNYyd6EZmRmybOQvyHBLsoezFA== X-Received: by 2002:a05:6871:3d1:b0:1a6:5818:f224 with SMTP id a17-20020a05687103d100b001a65818f224mr4571226oag.40.1686603894310; Mon, 12 Jun 2023 14:04:54 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.04.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:04: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)" Subject: [PATCH v4 04/34] pgtable: Create struct ptdesc Date: Mon, 12 Jun 2023 14:03:53 -0700 Message-Id: <20230612210423.18611-5-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 38E544001E X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: h7kcwfi5iwwdaxc6wbkdqa135hz8gwwz X-HE-Tag: 1686603895-558543 X-HE-Meta: U2FsdGVkX1/XV5tTuTJznUo31gS+u4WEOkVoAu43BkoNOotUPBkvy1PjviNCR9qr0yqVhtwcmUWASLDtqPauJNTw6BCxJYPfGKLvUrdtKXL70OnFtK1O7ZcoIYbqc+ImLiKqPMMqGQMUysSDT2m2jwgwReeP7KblJVqjXEmeYqgMVS+e8UnPasE2GljbId9osOBbB/JPN9Ta4foIeQtV2waT14nfxz5gEqPwoiWNKaUsFDhJZbmLBtOd5dlF71rdJRDBP54w5la3pAg2p6OK1hU+Q15s5IL7Ou1CHFYKFogSUwzh9HfXKeZFEbn5W7E5Vsn8GPo7S90Xy6x/DmDXBiO6nCnkhiZ70RDf1mt2TipCO88XHA5CttRAUaAZtDJ5YEYjqGyJ67FDcel/JDR8cwF69kOhO3l6pwfKCbfdMlfDWYeg3YHTy2dacwj3OJiRT1xRw9uVFe0lQG+L6xVYmL9xG7FViIAU6eKDQ/fM7YjTk8pXY3Qg7whn6xmHlc2+WSAsnxaj4qLyPeXIoTBKo7VDJlz9wWUsPrGXBfKEjYyTVMFZzRZ4HKq1z6W3ih2ImVwigGCTOmB5gWoJqI0stwdTutViVv00EFEbTCD8vI+DV/Jr/Irnw6g6ZydossL5hk86466XDeFWolCAVvGT5I+4Tt7hnKWWGuvQLmc6RmOmWM4AdAsv2J5VgyR0P6rQBvwKjxXoVarsnaxB/+ccCW/A1z7baXZZCz3dpqjz8YtSxy5g2mr2Fmi8cSXop0U0dEGM/30088++4zTebB1POxL6uJ0wNCCewZnDtKpHxnD/ddVBlmeMdnMsAlFe1x44Y/Zw5SnGJC5wn3O8irNIrGSAgzgoIfHUI/Lg9YDjGKhi/3tx5QTXz0e8pQ9Y0gords97SnQdwrT9t5MOE0tftSJAxdJUhk23KmA+8+zpiFoV20kRLV++N9OwZqt87dfWo03W/UpDBEGkrDRq6Ho JyFC62o2 3uvDJO+JheRDPyWDQPE+pyUXuC2LxKprvrwiY7GipOsILF6T8QXJzNyolu9v6hbWbjrEb6t1KRee/ZnARsuGGZGfE4E/985SIPghmb2iMU8a7DCYsZ6P+DdJvxnjooGWz3arcKU9NQDt8DzD5rZwgY8CdGi/WgcfMG3FbPqPKG+MWpkFP0unZeDgV7Zz8tek1xj6MuLkVVrPABsex4pJnKleqR4Qkex0HVt62Sc8gzWwscdNduKK+8d6rQUczO3/5UMxxb9umn7GWlnb8FEWIMIp25ez8lCVZQOWo01Y/eqyLH9d+wISOWNNV1YbmMHs1bl7o9sDU4zwMZKi0u/tI3jf1UV/7/GqMpipLsWpOoRat2G6/GpLF4docIn/Tue0QLzWO+4x8z/dmGDc5QcAyR5rw5OvOllvLux64kY5X3mQtudptc8JcD/vKF/f/9g3ftFQy8tMznhr8Q7Jq0KyGs5AHqXks80J0xJGP9YCBVzEHzm6ZF/1oHRO/r6Km8v1krozKsnwHjbpno/w6n3EyTqkGdg== 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: Currently, page table information is stored within struct page. As part of simplifying struct page, create struct ptdesc for page table information. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- include/linux/pgtable.h | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h index c5a51481bbb9..330de96ebfd6 100644 --- a/include/linux/pgtable.h +++ b/include/linux/pgtable.h @@ -975,6 +975,57 @@ static inline void ptep_modify_prot_commit(struct vm_area_struct *vma, #endif /* __HAVE_ARCH_PTEP_MODIFY_PROT_TRANSACTION */ #endif /* CONFIG_MMU */ + +/** + * struct ptdesc - Memory descriptor for page tables. + * @__page_flags: Same as page flags. Unused for page tables. + * @pt_list: List of used page tables. Used for s390 and x86. + * @_pt_pad_1: Padding that aliases with page's compound head. + * @pmd_huge_pte: Protected by ptdesc->ptl, used for THPs. + * @_pt_s390_gaddr: Aliases with page's mapping. Used for s390 gmap only. + * @pt_mm: Used for x86 pgds. + * @pt_frag_refcount: For fragmented page table tracking. Powerpc and s390 only. + * @ptl: Lock for the page table. + * + * This struct overlays struct page for now. Do not modify without a good + * understanding of the issues. + */ +struct ptdesc { + unsigned long __page_flags; + + union { + struct list_head pt_list; + struct { + unsigned long _pt_pad_1; + pgtable_t pmd_huge_pte; + }; + }; + unsigned long _pt_s390_gaddr; + + union { + struct mm_struct *pt_mm; + atomic_t pt_frag_refcount; + }; + +#if ALLOC_SPLIT_PTLOCKS + spinlock_t *ptl; +#else + spinlock_t ptl; +#endif +}; + +#define TABLE_MATCH(pg, pt) \ + static_assert(offsetof(struct page, pg) == offsetof(struct ptdesc, pt)) +TABLE_MATCH(flags, __page_flags); +TABLE_MATCH(compound_head, pt_list); +TABLE_MATCH(compound_head, _pt_pad_1); +TABLE_MATCH(pmd_huge_pte, pmd_huge_pte); +TABLE_MATCH(mapping, _pt_s390_gaddr); +TABLE_MATCH(pt_mm, pt_mm); +TABLE_MATCH(ptl, ptl); +#undef TABLE_MATCH +static_assert(sizeof(struct ptdesc) <= sizeof(struct page)); + /* * No-op macros that just return the current protection value. Defined here * because these macros can be used even if CONFIG_MMU is not defined. From patchwork Mon Jun 12 21:03:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277349 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 E5242C88CB8 for ; Mon, 12 Jun 2023 21:04:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8135094000D; Mon, 12 Jun 2023 17:04:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7C22794000B; Mon, 12 Jun 2023 17:04:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 63FDF94000D; Mon, 12 Jun 2023 17:04:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 4E7C394000B for ; Mon, 12 Jun 2023 17:04:59 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 23D1CC033C for ; Mon, 12 Jun 2023 21:04:59 +0000 (UTC) X-FDA: 80895325518.25.C43532E Received: from mail-yw1-f180.google.com (mail-yw1-f180.google.com [209.85.128.180]) by imf10.hostedemail.com (Postfix) with ESMTP id 4F90FC0022 for ; Mon, 12 Jun 2023 21:04:57 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=XHctMnuj; spf=pass (imf10.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.180 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603897; 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=E077vqoCqwl2/4qA0TBAbJoWDfL60BXPSkhV6wk0YUw=; b=IG4UVSfyZmQ1siHD9QfQlpkgxL9J/lD3y1T0tj9nkZ/7CkBCQAvJ0shjWRIhTaDuwYz/T0 TDcJyKxOsk5ocp3e7NGhzbF9V4wA5T1FEy0z8NflmnMUzvEFI+oSUk1w8qRi0EdC3jtyoE EWidKVNNMT6/PZX7ZxoJ1n9S8M0iYBM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603897; a=rsa-sha256; cv=none; b=RzFMI5FFUw3rZaqU3pCcGFfMTJD3TBUnS7nGE+PsFyK04ne4T4jvtYhF0dAiLjhXVxvB5z hn3vy2pa/BvWF/HBBsizrLs/t+RWXbx1tlC+tz3/mZ3i6LqmLgG0EmujJLdKx5pevGiIcS mF73GkMYBX2D6aMYmRE5kNbO+o/euw8= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=XHctMnuj; spf=pass (imf10.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.180 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-56d0d574964so20390247b3.0 for ; Mon, 12 Jun 2023 14:04:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603896; x=1689195896; 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=E077vqoCqwl2/4qA0TBAbJoWDfL60BXPSkhV6wk0YUw=; b=XHctMnujg/tVWYZlPY5bXFqva6VGPkLJitWyIF76elwmA+hNNOuZMn/71AAwR57M4B IyANMxsihrptf60QavxQFQZEOMJ5l1UtI4amrfsMrJlTcE45HruYhKHkR8dOb9vrhLyj wIzwXKD/U1Tx8l72JrhxAelagPrpqFK0zX9Nfim+mlei1ja/Gf0amJMsRM2MRf8e/2kO jriFwnl1iYZ7eeVYPFopluumvDGCM2xgx/viKkcjIMlifM5jUo+p/eIAsvrxVoA3HaI3 YFqZHN+rA25I8RXwpppjrBbB0BFU/dJTiV2alRnBnUUYr7XItuIWUT0u54vTo5/wZ++Y E5Lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603896; x=1689195896; 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=E077vqoCqwl2/4qA0TBAbJoWDfL60BXPSkhV6wk0YUw=; b=KPm/pSg8hteRnYw1hYyyFXVwHf4dC7AKAcr2tTNZNvrRGhj94Ljc/ItzATaYtX7vGT r8SMwZpOMAmsDr7zDK8IsCkEqG6RG947hp4EG7aVxmorhRgMzrpVLIPXuzDdcDlG74ts xdsMivtSzBZTc3InvtIAZ1ZSt3+KbyyaL/6sto9HSEK9TrPsJOAkV/hKYX2YAxlGC5JB ffvbDaLGDhDCUH1b+xjw/c4vnu7T3EHX6YWYVaNS9W0LmnTfyo/YUKDH8Iqco1RW6Tor Ha93yGNNZlWpDj1om4ImvMeqS94Lb6BJBZ93FKVrxwae1Kf+UCNvlR73+O8cNQVDp9PI dyzw== X-Gm-Message-State: AC+VfDwQFwZkRNduSLFy6ImqAmM60lC0K6a2OM5nRQ8tQJHJe/QpqUU8 SOYSAHbS9EfszP/Hsov6zQo= X-Google-Smtp-Source: ACHHUZ70i2xb+pf7p7UU1uRX9rQOpj1AFV5IFVauNZ+PMgf0TtCpACb/4dq/MMeKyVRgHZ+W6e2xbw== X-Received: by 2002:a81:5a55:0:b0:569:74f3:f3e1 with SMTP id o82-20020a815a55000000b0056974f3f3e1mr10812817ywb.0.1686603896297; Mon, 12 Jun 2023 14:04:56 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.04.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:04:56 -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)" Subject: [PATCH v4 05/34] mm: add utility functions for ptdesc Date: Mon, 12 Jun 2023 14:03:54 -0700 Message-Id: <20230612210423.18611-6-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Stat-Signature: gtstc5uncbspkrsd97tbcj63p9wd8aci X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 4F90FC0022 X-Rspam-User: X-HE-Tag: 1686603897-75848 X-HE-Meta: U2FsdGVkX1+HyEVMXVFnSsvE1ULcvVsEoeyJQOyC9Jc4b0/6Uio78mAfc9xA6ZtK8TljiZWqiKcBcbr+ftvlxD5AQrXxXmBmyyFM0dQ51oHJ2q4sUJxwpHLYa5WPmUKRgdGC6zConh3imxQDvJgVT8ciSNL5PvcxitZ6u2umgWO58iOI/QMfqjqR50LSZRzuWGBvSreaRdRRtYmmvy4zdVoyUTbNnMQeTsq+gRO4657IRKI1GGHcyFT4UvKTPv8DPnwy4C0mZ6lMsgXPuND2Vh9VHSEyqNTbh8pJ9QKGphOQVjQCkixleeSpclv/c1+YgRFTBr6cFa146bIkZftkkOd+g24EZjskN3XyBeFfnesq1Re3+OJlgHBeHPKKks32XuiEgjoy+5HsBecHhNK9BH3HfuX/4+5FxaJ8bcuHwYIGMY4c0LCfZUyJSmHMip/FqdFTpuyxnrsZuQhfnZNzCA1ezJQsEgtfFS/HDVS5pUz1xZQcnUddBl8lNLgjgR5JyAdmSWjWXHvnj6NjKU2YtiWO8vKNongCdwdqr7mfh+vXhM1WzC16bfYtm8xtbbP//TeuWuKFEqqAOH6UnE8BeZ2vtRP4hBF7ezmAItsot75cN6NlTAGBOQJ8IxuXZd1T2lt+274A0b6lI5bRbmBArmpoMcm3lvYOELjjS2gOzMMLeCl8bauxbZhBbS+JAjqQAc0CaKFnziOjB6506NqUVx0Cd0pE7T/bmY/cURMonz4bJ2QleeYwnsWLeUF4G/ru4mshnRtGsbjrtxaCqWCx/xHG/j0SrIBGxRVhftuxzh81smZeV7SO3zQmulO4F48RhQ59+c+6drRV/smL+FJ7Je/NO8E+A43EA9WY6VYIytREToFErA6I12hI/So79kXurAwQzi3HveIXvhXCLFGOrGtPcLvMDBFa7wi8vEwCtXduaA21Pk0pVLWZoMus6/vFhhTqj6yH1w0Q5OF68D+ VvdcHduE 7vKoi/NmOlya68yRtQJp/JhKyB8rpwmAGQ5Z7k9rkOnkLkB4dztqAApPITj6gtioVSF2JH4R1o3L5o9uTXfnrdfLyXNOvSMKo55IdRTknOUuGMMCv+mvr1PU93ToZIPWwrs+FtygnzphNHc4UXkE78QHXQc8+fMeqbbybu5Wta4ruhP0uAth/c2xB6HAJiVYZ9lLvk1TX0+WPoFvWgnwSzEj3TNLUYJ/n+UvGKy4yqvaNX+avwh98JKnawdOIi7a/jy8ITzrVplmWrmPDdLazHq5CslqTuVfSzDm03mu3sUQb//1LC+k8xO9WvgX93H+OQCB8eaIJSN5N/4SM53TqS/cIURI88svNTktMcV3lzvq7nhsaEPpzPekvLmwab3lYHkYLc/VNoJjTAud6DYDvZHQfKjvMtYPz29P4awEHVEIts97Du+pS3Gu5hppq7WO/aCuDTLll6bqutnFsUX/wnKGi5/VhJ2fiOFl73uD1yNQAp27KS+QxCxgIwyTyKy3QEXahxdNR25g7YKt7qPoLXGVjxw== 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: Introduce utility functions setting the foundation for ptdescs. These will also assist in the splitting out of ptdesc from struct page. Functions that focus on the descriptor are prefixed with ptdesc_* while functions that focus on the pagetable are prefixed with pagetable_*. pagetable_alloc() is defined to allocate new ptdesc pages as compound pages. This is to standardize ptdescs by allowing for one allocation and one free function, in contrast to 2 allocation and 2 free functions. Signed-off-by: Vishal Moola (Oracle) --- include/asm-generic/tlb.h | 11 +++++++ include/linux/mm.h | 61 +++++++++++++++++++++++++++++++++++++++ include/linux/pgtable.h | 12 ++++++++ 3 files changed, 84 insertions(+) diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h index b46617207c93..6bade9e0e799 100644 --- a/include/asm-generic/tlb.h +++ b/include/asm-generic/tlb.h @@ -481,6 +481,17 @@ static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page) return tlb_remove_page_size(tlb, page, PAGE_SIZE); } +static inline void tlb_remove_ptdesc(struct mmu_gather *tlb, void *pt) +{ + tlb_remove_table(tlb, pt); +} + +/* Like tlb_remove_ptdesc, but for page-like page directories. */ +static inline void tlb_remove_page_ptdesc(struct mmu_gather *tlb, struct ptdesc *pt) +{ + tlb_remove_page(tlb, ptdesc_page(pt)); +} + static inline void tlb_change_page_size(struct mmu_gather *tlb, unsigned int page_size) { diff --git a/include/linux/mm.h b/include/linux/mm.h index 0db09639dd2d..f184f1eba85d 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2766,6 +2766,62 @@ static inline pmd_t *pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long a } #endif /* CONFIG_MMU */ +static inline struct ptdesc *virt_to_ptdesc(const void *x) +{ + return page_ptdesc(virt_to_page(x)); +} + +static inline void *ptdesc_to_virt(const struct ptdesc *pt) +{ + return page_to_virt(ptdesc_page(pt)); +} + +static inline void *ptdesc_address(const struct ptdesc *pt) +{ + return folio_address(ptdesc_folio(pt)); +} + +static inline bool pagetable_is_reserved(struct ptdesc *pt) +{ + return folio_test_reserved(ptdesc_folio(pt)); +} + +/** + * pagetable_alloc - Allocate pagetables + * @gfp: GFP flags + * @order: desired pagetable order + * + * pagetable_alloc allocates a page table descriptor as well as all pages + * described by it. + * + * Return: The ptdesc describing the allocated page tables. + */ +static inline struct ptdesc *pagetable_alloc(gfp_t gfp, unsigned int order) +{ + struct page *page = alloc_pages(gfp | __GFP_COMP, order); + + return page_ptdesc(page); +} + +/** + * pagetable_free - Free pagetables + * @pt: The page table descriptor + * + * pagetable_free frees a page table descriptor as well as all page + * tables described by said ptdesc. + */ +static inline void pagetable_free(struct ptdesc *pt) +{ + struct page *page = ptdesc_page(pt); + + __free_pages(page, compound_order(page)); +} + +static inline void pagetable_clear(void *x) +{ + clear_page(x); +} + #if USE_SPLIT_PTE_PTLOCKS #if ALLOC_SPLIT_PTLOCKS void __init ptlock_cache_init(void); @@ -2992,6 +3048,11 @@ static inline void mark_page_reserved(struct page *page) adjust_managed_page_count(page, -1); } +static inline void free_reserved_ptdesc(struct ptdesc *pt) +{ + free_reserved_page(ptdesc_page(pt)); +} + /* * Default method to free all the __init memory into the buddy system. * The freed pages will be poisoned with pattern "poison" if it's within diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h index 330de96ebfd6..c405f74d3875 100644 --- a/include/linux/pgtable.h +++ b/include/linux/pgtable.h @@ -1026,6 +1026,18 @@ TABLE_MATCH(ptl, ptl); #undef TABLE_MATCH static_assert(sizeof(struct ptdesc) <= sizeof(struct page)); +#define ptdesc_page(pt) (_Generic((pt), \ + const struct ptdesc *: (const struct page *)(pt), \ + struct ptdesc *: (struct page *)(pt))) + +#define ptdesc_folio(pt) (_Generic((pt), \ + const struct ptdesc *: (const struct folio *)(pt), \ + struct ptdesc *: (struct folio *)(pt))) + +#define page_ptdesc(p) (_Generic((p), \ + const struct page *: (const struct ptdesc *)(p), \ + struct page *: (struct ptdesc *)(p))) + /* * No-op macros that just return the current protection value. Defined here * because these macros can be used even if CONFIG_MMU is not defined. From patchwork Mon Jun 12 21:03:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277350 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 E86F8C88CB5 for ; Mon, 12 Jun 2023 21:05:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 83A2694000F; Mon, 12 Jun 2023 17:05:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7757294000B; Mon, 12 Jun 2023 17:05:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 52A5D94000F; Mon, 12 Jun 2023 17:05:01 -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 442CD94000B for ; Mon, 12 Jun 2023 17:05:01 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 1BCEE1C7B71 for ; Mon, 12 Jun 2023 21:05:01 +0000 (UTC) X-FDA: 80895325602.08.364901E Received: from mail-yw1-f180.google.com (mail-yw1-f180.google.com [209.85.128.180]) by imf07.hostedemail.com (Postfix) with ESMTP id 3AF014002A for ; Mon, 12 Jun 2023 21:04:59 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=dEzJOtzx; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf07.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.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=1686603899; 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=yIxlKckYoNWIlWWgwnqqyBbBSaaTtt3uqS2t74G/Cdc=; b=21edQWkO1uv0OTx5VwfBM+wN1RL8BmxSpcMGSNq0ogTZD0fgURWK4BsTd2H0QoCbXzJe04 H+icRwUQdlUfhn2sOM7sgDSBWknh0yvtgWn8h39/iOXwHCvQhFcUZeeyQFLReDXJeHiL0E Jf2qyvtWgdDf5696aL2ReXfqPv61E+k= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=dEzJOtzx; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf07.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.180 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603899; a=rsa-sha256; cv=none; b=FF+/sCDB+IpEph42l3ZWdJ8UtydThpylHhECeJM0LRYkKu6Nxndtt0i46mEHHpRhWYSZYX yw4LudC5/wcyqCe5VE6n/Mu5/nm6L8/1RdH+yRA0bBczWC8I/ZBpQGTWnJ7FIK76A5+eiZ GIWet1QQ5GsTjQ+0v1xH6pX+FHridas= Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-56d2ac0d990so21799217b3.0 for ; Mon, 12 Jun 2023 14:04:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603898; x=1689195898; 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=yIxlKckYoNWIlWWgwnqqyBbBSaaTtt3uqS2t74G/Cdc=; b=dEzJOtzxLU2ZgnRZWUoqUgX1LkEqjEDlA4j+okrU2e6EDfoTOSvMm21aq2NnoI678R /LX1XChQ5Sb6AvjVNxtMPEQadtzbeWOF+8rQnJrR7+vmusoCvLySLO14WPjcNIRUT0dF 2rQMLU3uAHVNRz0iVUR14QRbNE3w1MtZleas6+gopDWiSHJ7z9AcD/gIo2kO1Qn8dYbq 016n5ev0Z4+orrxhRkS9jR7LRRnc2lkVCuuqKiR89ABW/c7EVFAaF7NtNMlO51k6MesR a4Umst3ZsGaDroxenZAsFOjCXCF1Egq8LClHBVmEapvlxmVVyTvGXFdEnpS3DAZrTLmY PBbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603898; x=1689195898; 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=yIxlKckYoNWIlWWgwnqqyBbBSaaTtt3uqS2t74G/Cdc=; b=YZFetD6R1TGt37UcSg86IfL3SpSx1sw//hJAwzIlk+WlMtDnnU5BkDGc6sdaGrYPAZ LPUi+vT4DeRKd1mvG1buvIGO6bBByGo/Borrql9VxA3e4eOVLxlfXS1TnaA2TE4I4MA3 yfMa8L6Tfm/xZm4+Cy7tX7BIW40a6blSlKMAHj9jugofF1MLFKu8NZFPr9R/Wu9Whe6j O1uhWk7cFPgfPguOOo4vG7NCA4u4K2t9DMy8JvMHaDbJVlbZMlRYmSeLClYbN2Y5Kzhs 8KtZOdG/3/lLPBFG6oQ5i4+D9qo6C9HjhsbvhmmhNMyENOe/Y7gpvUQFjxH07BLZhcVB 9yEA== X-Gm-Message-State: AC+VfDxzD7UYCh9qtelis2t/N5TLEPcRs7OL1hTGHWj71A3/rrrjLs+E /Ye5qzKvEeyUlvGV4TgfNsc= X-Google-Smtp-Source: ACHHUZ6/Iw+ntCpwv4qU9urdFcPsYepvqoySZLtVMefOmpx6b7rcyARehfEWJ2myv62OL0MPJVk5RA== X-Received: by 2002:a81:7287:0:b0:561:b246:77df with SMTP id n129-20020a817287000000b00561b24677dfmr12849071ywc.16.1686603898264; Mon, 12 Jun 2023 14:04:58 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.04.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:04:58 -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)" Subject: [PATCH v4 06/34] mm: Convert pmd_pgtable_page() to pmd_ptdesc() Date: Mon, 12 Jun 2023 14:03:55 -0700 Message-Id: <20230612210423.18611-7-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 3AF014002A X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: nit9azm36ib4ftz75eycqag41tc5ibjn X-HE-Tag: 1686603899-421526 X-HE-Meta: U2FsdGVkX19k5db9ZVxNlZKGNwfwxmcbQpXBjvMhPuDtp2jRNq6zNYszqX3DvijCPD0hckM0ypPr4Yob77Car1gJd67PZX2c5g14U7o6O7g7qxt8s0NzsHL6A4qJGp93pQq+ioK9otdTLVqt3Tg04bIqRshlYklm72OW2vZ9/+WflEnaDgemgOazr1qKWDNvd0Ck3ERGoUi6Ka0pT7KToVQdem9NrC22DuzEa58ySOT8RNqxaESI6pCNuQkSS2NPvi/FSaVHYjcgwYZ/yY7a5HVczKUZ4urmZXzBIwgK03R2ag/ykQ7G0m3Gzt/gGU54dgregY6VxkzD2utxEecCUlmoHG/dSHs2/OuoZnxV9c1SsSOSPZOVJxQSi9AEEljeXLTZxDzWyfVzE8DorRsYVe8NFuwV/iypiX2iBdk3h73KXoE0hWjQNBG5DpcsTgmKWGG4tVyyuEuUCK+yhZkmFBvHPWwRTYGs9T5Pdn9cit/VGyNoIzkwd0N8XVx1gpeC4ZhDHQuoAgAfBIBCs8K7b741rBjgIZ3fTBezCpZK5Hf3TFQQDhmB+Y96WutOw7M91wZ4hx/xAhamjRhtSlOHCcrFOmHi3X03YVX9fAuhX4YxWOQztcF9CHoNagqHiFqWCr05zW4ZUGu7KupCBH3F71sig+/stbf7VO4VtMBgnX1W8vTbkSGIrZhD1UjbR0zuwmd23qCMpU+jsR6XSOVCXwgv5gKmHpKM1MJFEP198ONAH13Hhx4oFe1djMWnA0R94+EXWqOtHQJqdTZKjUAiKBr5HCiZoGtVQ2uUsKIHwt3d2paQZ4RJSMCX1Nc+98jDXHgEEf0VLzLvhdpI5egV4suhdaurJ/PMLklYXkHzNHPhGCK+SiwfXA8ttvF7rA3Dj2ELy57+dj848hiBPhUxKJKI63tjUztj5v1Bc0cXISp7cwpR8JkuDM7AA9hb0aa4Zhjq7HNep3KT6LIsLMx YaRSb+YN lw3FcYst1gRffM9JNgymqg/6nzg+pEanz38Q/OrSp2d9a5qKxjPWROSQl41ey9z7uTqLui2ge1dAk6Gr3tdvMR1safQNQjM7xVVUIPOTqRbBakapY5LHnAwXP5aiRXP0a58zEwd10saa5VK9OulecjspVi8Ks7zxGOtI/Jim9ayB/jiZiry2gDM1sAhUCkRusnTH9q+sbY178OQoPjPfL/le6vWp/PSxIcIwcND3YkJMBotNxf4xOfAis1XN86SAbhjB7JbELBA72QbpNcuPiagp8RlGGN+dWUr/v9BdxkX69VYTpv8WwHdHKBuCVf8uyGMqNk1d693OKEeewXHtatCCkzkYDGdXCr1kLXF8ifP/2BFzMIUs07Qqih44d0V4q1h6JfGPUSWlvJIOYW1e3cOWxR0DyKZoGEzh7g5A1LcAfpacWw8aZvlwvMtoIWdM2F/FOCDvTnPg19atkj3zfWSEI9GyHjwWCysSRMDX0vfOEaxuKMSOW/HBbqlMkRy4POQzwCuyBOzMenp4y4aUJ5kVxJjMD9oeVXYUXiQ63O029EQJGt/yC05FiFDTR8wOsg/nMROe5QCRsmEI= 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: Converts pmd_pgtable_page() to pmd_ptdesc() and all its callers. This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- include/linux/mm.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index f184f1eba85d..088b7664f897 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2931,15 +2931,15 @@ static inline void pgtable_pte_page_dtor(struct page *page) #if USE_SPLIT_PMD_PTLOCKS -static inline struct page *pmd_pgtable_page(pmd_t *pmd) +static inline struct ptdesc *pmd_ptdesc(pmd_t *pmd) { unsigned long mask = ~(PTRS_PER_PMD * sizeof(pmd_t) - 1); - return virt_to_page((void *)((unsigned long) pmd & mask)); + return virt_to_ptdesc((void *)((unsigned long) pmd & mask)); } static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd) { - return ptlock_ptr(pmd_pgtable_page(pmd)); + return ptlock_ptr(ptdesc_page(pmd_ptdesc(pmd))); } static inline bool pmd_ptlock_init(struct page *page) @@ -2958,7 +2958,7 @@ static inline void pmd_ptlock_free(struct page *page) ptlock_free(page); } -#define pmd_huge_pte(mm, pmd) (pmd_pgtable_page(pmd)->pmd_huge_pte) +#define pmd_huge_pte(mm, pmd) (pmd_ptdesc(pmd)->pmd_huge_pte) #else From patchwork Mon Jun 12 21:03:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277351 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 D8126C7EE2F for ; Mon, 12 Jun 2023 21:05:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 63D8C940010; Mon, 12 Jun 2023 17:05:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5EE4694000B; Mon, 12 Jun 2023 17:05:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 48ED1940010; Mon, 12 Jun 2023 17:05:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 3A64094000B for ; Mon, 12 Jun 2023 17:05:03 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 09D331A0348 for ; Mon, 12 Jun 2023 21:05:03 +0000 (UTC) X-FDA: 80895325686.17.B83DAB9 Received: from mail-yw1-f182.google.com (mail-yw1-f182.google.com [209.85.128.182]) by imf04.hostedemail.com (Postfix) with ESMTP id 32DBD4001B for ; Mon, 12 Jun 2023 21:05:00 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=FDAUnHm2; spf=pass (imf04.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.182 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603901; 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=csibueTQMI8hz/axFpDokmCUVKS4XWTLf0OEMRBu+sg=; b=U9FlYu/Jk1fC7PY4SV/vAQUbAIBYgqGp8VTjVjz4TwLiV6/r1eWpWYUnpsWLVqtf1Vbvj9 ICWV/Y4gHHUDWqzRLEPMGAjomMiY+6WcBRDBk/Z8ZiOfRujxWPCQISgRHuXEjpTYoRZt+P X7cBO3CtgyjFD4ahDsWpRCJYJqKDDek= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603901; a=rsa-sha256; cv=none; b=t6eBs7gOOEbiQ7pMWnYXM7vK1BUHFUgNhk8dnRU0QJp1iPAbP/LX9aY0BrcfGe/tE7f/hX 9SnMeUkFp+nuiAS8qvFeD24oAH7MT2csBgn8+NxKFVwaIrBLo0ssHK0ob9+F190eimbxQG eD+zze/rTU8/T1LRQAggk75zOaFupVQ= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=FDAUnHm2; spf=pass (imf04.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.182 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yw1-f182.google.com with SMTP id 00721157ae682-56ce88ee294so19024317b3.0 for ; Mon, 12 Jun 2023 14:05:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603900; x=1689195900; 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=csibueTQMI8hz/axFpDokmCUVKS4XWTLf0OEMRBu+sg=; b=FDAUnHm2faFSWGwfZS5hO+D9w8GP4e4g1ML7/tmHqNMsyYqyAD51ooe/UZAynheb45 JUNAZVEGWiy3FM+aYWlvoHKaBUFoNzNTwUdIl4kQAVJN12Picp2GbnIh1UwydO/qddyi DCuNf5aNp8X4OTmdAm+cAeL3CGsOgaZ27ub95e/8MTqIlBQGK4N048waW9QZBpSO9XHI sWfFM9CmbvJbA3uGm5rS2JNk4GtvKzbhh98S182OZhG/f2sSkxT71cjOLs4vhjGq3bqf ArQftxucDa5+VY1eeLZl1/JDXSt6Px6z9h8EFmxArPTIN+H3XkndN1zswUa8dX9vrXU3 5Q2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603900; x=1689195900; 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=csibueTQMI8hz/axFpDokmCUVKS4XWTLf0OEMRBu+sg=; b=JgOyYDcKTf34kjXRG3IXz1McYOLch/LAuf1MMJ4UfImUYQxAqCwJTCdWsFYkiSQA4l /xq4RnzrB0BkVSjjUY8KnqfiqUjdC5K9VGsauJdOU3EwQGv7ttfURypwK/yC/cLZiT91 X8QmG1Dh1xCSuZMRnX7NmOLGTcg3mALaPvaoU0q82aogn5bOPzoYqlCfD6AM3UwwCsIl cTD/Z357tiEik+D8o54ydobOEokyosckBgEChEWvSjUyvjsmGpAb4rcCPGmW4U3HPwQY CWl9ZUVW15iza4NEYVUxK27uQN3Bh2zQIGWxlH6WoLVsKU/6ZMqVs5AbxuTqubvHQ7nQ BMkg== X-Gm-Message-State: AC+VfDyYZ0CK3aVTIMb2qQORIHiaIKyxSt/p//yM2ieQ2NMs3Ez6qYyj 1jzHC63xjFKJ8j3UZqb31C4= X-Google-Smtp-Source: ACHHUZ7XKzfLRWmcjDH1kOSVD0e6fKxxbDH/DoQa8Wv3QDYuxgXM2gpDCQ5rMsZn09dpzldtR2HsSA== X-Received: by 2002:a0d:e294:0:b0:56d:5041:78b with SMTP id l142-20020a0de294000000b0056d5041078bmr1552114ywe.2.1686603900209; Mon, 12 Jun 2023 14:05:00 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.04.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:04:59 -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)" Subject: [PATCH v4 07/34] mm: Convert ptlock_alloc() to use ptdescs Date: Mon, 12 Jun 2023 14:03:56 -0700 Message-Id: <20230612210423.18611-8-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 32DBD4001B X-Rspam-User: X-Stat-Signature: 1mgogpn1836rajfx39ysc6imcobkutzj X-Rspamd-Server: rspam03 X-HE-Tag: 1686603900-853922 X-HE-Meta: U2FsdGVkX18S8JDrslb7ikTJQeEqHwaFXJspTn1a627yvPValdsOvOteKrv7V3TsCjmmKIGEKoUQatKvZ9Gdot9mfmfh5KQIBjv2O08Fd49dkOWSXecKxqdilqyCgDBTbTIVPPU21+L267iywjHFy9nTFjiZCwsa4mf0C1bE1iH92en6vhwkibX8brrgjF6mxYHHXlRdc7Pe7ldY64rrSRotv0XjRz2kWZ2rbLCqPYRlvsDOZvQstfWeSlMwZQ24T8J+EJGpC7ZKSKfEfMYeOvNIs7jsUL9Sp+TmE+sWBKloWgcTcvysMg7dog7Llr6VKB7nWsfUxgBNw9qefN/3ie8UZyvGSgZ9JAGyik1P7ocPSg33PcXwCwxgLSe49aFfShcXxE9GWeW8B6ni4TDAOI07u73SGGMywshhvVRUi1Tu9UHSHDCXWRWSJdvBNML60AVEOpiQ2MJ3Edodqs45YZBwLepb0SFqtnzdI4h9MrYcfFkq6ef8sViUsw/ttkh0lyO5DqY5rnD4RN8RYI0TFs83TQjZ8UODqp9bR7fKvY4PYX2Z/G+K9riXEb2LCCZ0Tec9E0SGpQaok/hlZmr9oF5S1zsSAeQsJVh2uF8cM9kflHVz61g6gaEqmoKnnPD1ZlZP1FxnoMB4/PURGSlUtLB5LFhEBVNw8h34db015tLIUhdw4uPB31nnowCmvsAkxrN2LOJhzc17pt2PDGnFVBR64rprCQQAybDDXq6XomsPZB7YvximekCA4sETjHbrqTVeRmdh75Xel7Maio0Gj9Em9ANIH/fhrD0+h6zE7so96GMIMTPjuRz9bNB3dxV6g5ZSlOJvLpTUt5QSeVxpTzqcHiJm4oxNFizFeZDkIo3wEmKN5YivWheTxjvCzvFgzicZLY2x2cgylo57uS6EXOX4YsSt7iTwqQw1q5SJRSdJiksC4HVrMX/vzQM4wH0+ytq1THSplcffyploxd3 MAO6s7iU oodYh2mzSB7OXKUWTAxATo0VeAKe6Fng9D/AoDqhoSiQ4OYGxzq2kwksoVVN2nmbAV/8aczmaUTIetug/Ez8P8TpbY3fLvu1h6/rmWQt2bQAk+cm8Wpnx4Wy1DUdxvDkgtIn4TgxsN96ypJoBON7NCS3ZIN5a9s4I2FGvQH+5U/9MDFSL+nbAwFpn5Ly1bwYCu7bxU/P4xiOZQu/C4DLVpgMdiYAm0JHdv108oQclJZOdPaDM5tm9hijjZ9hOmtEt6GICtJVGIZt1KCM7T1QvMH8dvDzKqnrlulUVbm2rKX6nsdZv8szaNKzGqW0PwZU+z/gh2hHkl4UQk+JG+RyaLhdqvoGPtSGzwUnH8Lc910uH7GUt/FcKpg4WAsIzQFv1CpsWPXtlj3kTGK0HHPUWDHfAhnG+fI5ICpXwjxpevakWJ1rdKIkjvf29G/pQbMXv9dWAsFwflckneHvPDNCSrz1itZ7TmlGnTklus+gRsZy6ho0HZb8QqeqtpDHXe/Ps+2DDsJZx7jRBX9yn/zGQ0JpICfXNO+q3W5Jqo0J8rr1Z3c24waf1g7Iyl0uS13M/bbV2XSngjHZTGhc= 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: This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- include/linux/mm.h | 6 +++--- mm/memory.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 088b7664f897..e6f1be2a405e 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2825,7 +2825,7 @@ static inline void pagetable_clear(void *x) #if USE_SPLIT_PTE_PTLOCKS #if ALLOC_SPLIT_PTLOCKS void __init ptlock_cache_init(void); -extern bool ptlock_alloc(struct page *page); +bool ptlock_alloc(struct ptdesc *ptdesc); extern void ptlock_free(struct page *page); static inline spinlock_t *ptlock_ptr(struct page *page) @@ -2837,7 +2837,7 @@ static inline void ptlock_cache_init(void) { } -static inline bool ptlock_alloc(struct page *page) +static inline bool ptlock_alloc(struct ptdesc *ptdesc) { return true; } @@ -2867,7 +2867,7 @@ static inline bool ptlock_init(struct page *page) * slab code uses page->slab_cache, which share storage with page->ptl. */ VM_BUG_ON_PAGE(*(unsigned long *)&page->ptl, page); - if (!ptlock_alloc(page)) + if (!ptlock_alloc(page_ptdesc(page))) return false; spin_lock_init(ptlock_ptr(page)); return true; diff --git a/mm/memory.c b/mm/memory.c index 80ce9dda2779..ba9579117686 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -5934,14 +5934,14 @@ void __init ptlock_cache_init(void) SLAB_PANIC, NULL); } -bool ptlock_alloc(struct page *page) +bool ptlock_alloc(struct ptdesc *ptdesc) { spinlock_t *ptl; ptl = kmem_cache_alloc(page_ptl_cachep, GFP_KERNEL); if (!ptl) return false; - page->ptl = ptl; + ptdesc->ptl = ptl; return true; } From patchwork Mon Jun 12 21:03:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277352 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 20EDEC7EE43 for ; Mon, 12 Jun 2023 21:05:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A83A7940011; Mon, 12 Jun 2023 17:05:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A0BCB94000B; Mon, 12 Jun 2023 17:05:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 74CCF940011; Mon, 12 Jun 2023 17:05:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 6063C94000B for ; Mon, 12 Jun 2023 17:05:05 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 20CAE16033C for ; Mon, 12 Jun 2023 21:05:05 +0000 (UTC) X-FDA: 80895325770.27.44DAAF0 Received: from mail-yw1-f173.google.com (mail-yw1-f173.google.com [209.85.128.173]) by imf18.hostedemail.com (Postfix) with ESMTP id 4C6BD1C0018 for ; Mon, 12 Jun 2023 21:05:03 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=CJYIsJwg; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf18.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.173 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=1686603903; 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=7hP9xC8dm7FmaxDqq4kyW1FngYvGoyLv+4GJfd5pZsk=; b=gSrwsO+R3povF54LAHVqw5j2AixBvrlxAiB2Zlfat87ngIYEtDG+Ne+HM7xmn3nxuhvkfN 4/iieI7MTZ08+vR9JZg8281jgvVm92F3PeTVk6W8NdUk3Y2Lvtgu0aSDFVoD9iZLBH7gwJ Ahs33D6B/2SkgOwEOhNyN0OzduObo44= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=CJYIsJwg; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf18.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.173 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603903; a=rsa-sha256; cv=none; b=bP+/SxJobsfAIKFW5fv5O4G932PJK30jgjVnCTJPrZuc1frLARR3dCZFIoiwareYjNUB7B x1j5qtnPk44h98UZg9XHcWAxe509qduLKdsx/hpGGx0mlPAh9sRlN1kxdXBOz0ouA4xcVo iV6ZQZpodsTrtzkLh00VjXK+adBmbLg= Received: by mail-yw1-f173.google.com with SMTP id 00721157ae682-56cf34a3c72so28375657b3.1 for ; Mon, 12 Jun 2023 14:05:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603902; x=1689195902; 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=7hP9xC8dm7FmaxDqq4kyW1FngYvGoyLv+4GJfd5pZsk=; b=CJYIsJwgfTu/y/lqnJP/t9il82a33oAqvZUzCAqj1B6hDybKBkJzlI1M4tHng7gsKh wjldrdty5LsQxwcte5A4qzxTSyPWsC3prP09MuDZHhuDdW+KkIuzhNtB1OGIf0fmEYwq PbjgzzODbpwoqx2q55Rq1VMyrgJdF+EsVRaRlosxhaI2WYgY5mJZUdNXguDU4uoU3hsT HNsA8NDHAaVm+vxqugHLiha5If8egzZBwoJM3N2OKUEJMszToVmHBrGqCteUXmcF8+W9 CJfXWgYf4SrrnrL4x4+oaqBHqtUA2nnqH+olViH9ENIys3R1pjxamFF3W5tG5eZyHhYN +FGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603902; x=1689195902; 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=7hP9xC8dm7FmaxDqq4kyW1FngYvGoyLv+4GJfd5pZsk=; b=WQWTG7eEffV3fBw/pvJISFWmrDKBe8QgyaNSRdYxO3WCaWBKjXiH6JPGijtS3tS8Y3 0NAJN8ZZMMcv99SQhTF2oEK5fpJR8cviMJcA+Sgylmvz4ZliP5IecI9TL/5mEVJPXbvZ itMUUjNyRjh68GNMovDEWymvpecT37DSf4ZlK5f7Qfm8Bl9oGJBH8XEdfQiVB4xtTETn SjxDeU5v2VWSsx7ADaeNfeNk+LwPxwt0TJ3wAkZx/y+Q7GQWa4F1I+QY+aoLsjiWPRw9 NeIIJ7m9zQ8lD52NOSYaIDDCyKIaUnJubgSbVQA4U1i/v7N5bmlnCzvHZwsnLWP2UJPI 5gUg== X-Gm-Message-State: AC+VfDynY9Vcr4ZvAAHmv60yTJgyz4GEA8HmlSEXL8aEWsx+ZGd+J4xZ l9tCN/YX8sMY2Qusa8vcMDQ= X-Google-Smtp-Source: ACHHUZ5ktkx/ASoBV55sneLmyoKAwlH0/qlI6IE3eWY9yaMnSemMH48l10CKm48pG/hNrIF3qCc62g== X-Received: by 2002:a0d:d713:0:b0:56d:5286:51f5 with SMTP id z19-20020a0dd713000000b0056d528651f5mr1015907ywd.28.1686603902249; Mon, 12 Jun 2023 14:05:02 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:01 -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)" Subject: [PATCH v4 08/34] mm: Convert ptlock_ptr() to use ptdescs Date: Mon, 12 Jun 2023 14:03:57 -0700 Message-Id: <20230612210423.18611-9-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 4C6BD1C0018 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 54efy7qa9kgn1f96imkrwzet5bq1kc7u X-HE-Tag: 1686603903-870503 X-HE-Meta: U2FsdGVkX18DO8KQm4lJourC+iAG6nn8xVTQwB3zPfKvvuw0HRG4GMEOCFec6khxEYm3V0uIyxsTfQqATjaRU1qAzxxWxmVCdksQDB+K1hsh497U+jNCevOX1lWH+Ne3w8ieqSPsE2pQm5kkfGUBPDzU+L7AMoyVXtKZQGP02YhGSQayvHcYHgSkrWWo8duA86DyMtlEZMYxVocxPFPP92/FQNCHMc38uzIW44YXK6NpNo/KFJP56kYepY3pTfZKJRUSx4Xx0/HaNxYgcOP5VlJhY3HwcYgvVtWZcW/TnhSbquCGEHHK9UkZ4wl3Vg5MwpnIFso5CIiDBX7466RT166PBBjBnfKr9Y1qqgjByIBRmSGOyMUdOKSUUC3u28g4dnEoXy1hCULK47cWuuD3RV8JnTSm/jnQ2olSGXQAtc+l9zPbNR1+/lBaOhqcQA4D+6BDD0OCgkqyxOdN1dDGyZ5/2ai+LD7pzIj77iqPW05VJ0U92jxqZq6m0ZvqmjC3yL/PZbPP59m+7VSmfNVE4rgyFFT5rrucneae82DQtFVRwo6hRI+Wa9xugpOdBWR5dvDa+lh//DERxMd5hQ1bv93fP4/H0Cl7AlfDE2ct2DxvM0US+XWFDoBUx0QrAyZNVuIyxObmz5ceXPmTphppKsPc78Kd6Y2ddvVKlSPqJx08GO1loKYNa2X0f50+GJg3zz5dwaWsjfQQapajqb7H2tHtYRtSjkmdyKHHOzi2hWydAD4ovrlBtod7Hg1yqOImMUSvwJBRRYDmOGMo+oGUNMODXz/nCwVwMFoYgiwlGaSSIyXOXmYk7NRC1DanjktbIVWqclNV/O6xm11k9yP8KfhgLLg//mT/ubm9AUFqsiWMvGBiPLqHAZuNKyN/xlcplEXFnxbsYNfizLSc3gwyV6VREcW7owyhrnuxd6zOTQe+/8761YcQrTbwOOYYBxi5WsuEuZ0glC4WQNUtDAJ 7HFC1+W0 9HhCdQ3VcWdj4Xzhzlhadtr9qkpRfP4UyRkFHwZjKGTzW35f0cnOlxywW1a2GkukyJBsD+4FyM/KR9r2SMJxq39R6TlFCW9wNOgLruqR5UrfoQb2hoY9NXiE5AC4mbA45tnDK2mTBB5aOZrGOg8A4SzxVYOCmLQxurxiXdQ17g1IAVqXVfq+h+4zN4jcAbSJIQgjsJxYXT0QcsGgudJU+vJG+7vBx34Q28St/8+VF7rcygbVv8bjIicA+bM0z+hv8t/kEyE7A4YLg2GSbFsC/RWNpwpqAEyhCb4UMzo+kZYDBzlOLrY1f6bZabQBfLeQE9gbeQbmYlcvwMP2uvRKXDxgdddBb5lM4Kefo/GqMNHr0ekmSmhoR/x9+bNOIoSOCE6DVUxBrhEwqNvSc9FAOyO2D7Qwtvi4sfcmm1Sk963XyasKghOdXCqvZ1eB4tZ4VLRYV61AMZXjuLK0lwKRkJw23TjtK4CZvn/FpHm/Ono4Oxwykvo59EFJk8FgqI3zSW5BCXheQ1b9Bmnj3+rgll36dgQRx1hAkjlyqBGKedUmLBk3an4e1JHWGrH3v1w/GnlQtBI4+yR6cWEw= 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: This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- arch/x86/xen/mmu_pv.c | 2 +- include/linux/mm.h | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c index b3b8d289b9ab..f469862e3ef4 100644 --- a/arch/x86/xen/mmu_pv.c +++ b/arch/x86/xen/mmu_pv.c @@ -651,7 +651,7 @@ static spinlock_t *xen_pte_lock(struct page *page, struct mm_struct *mm) spinlock_t *ptl = NULL; #if USE_SPLIT_PTE_PTLOCKS - ptl = ptlock_ptr(page); + ptl = ptlock_ptr(page_ptdesc(page)); spin_lock_nest_lock(ptl, &mm->page_table_lock); #endif diff --git a/include/linux/mm.h b/include/linux/mm.h index e6f1be2a405e..bb934d51390f 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2828,9 +2828,9 @@ void __init ptlock_cache_init(void); bool ptlock_alloc(struct ptdesc *ptdesc); extern void ptlock_free(struct page *page); -static inline spinlock_t *ptlock_ptr(struct page *page) +static inline spinlock_t *ptlock_ptr(struct ptdesc *ptdesc) { - return page->ptl; + return ptdesc->ptl; } #else /* ALLOC_SPLIT_PTLOCKS */ static inline void ptlock_cache_init(void) @@ -2846,15 +2846,15 @@ static inline void ptlock_free(struct page *page) { } -static inline spinlock_t *ptlock_ptr(struct page *page) +static inline spinlock_t *ptlock_ptr(struct ptdesc *ptdesc) { - return &page->ptl; + return &ptdesc->ptl; } #endif /* ALLOC_SPLIT_PTLOCKS */ static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd) { - return ptlock_ptr(pmd_page(*pmd)); + return ptlock_ptr(page_ptdesc(pmd_page(*pmd))); } static inline bool ptlock_init(struct page *page) @@ -2869,7 +2869,7 @@ static inline bool ptlock_init(struct page *page) VM_BUG_ON_PAGE(*(unsigned long *)&page->ptl, page); if (!ptlock_alloc(page_ptdesc(page))) return false; - spin_lock_init(ptlock_ptr(page)); + spin_lock_init(ptlock_ptr(page_ptdesc(page))); return true; } @@ -2939,7 +2939,7 @@ static inline struct ptdesc *pmd_ptdesc(pmd_t *pmd) static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd) { - return ptlock_ptr(ptdesc_page(pmd_ptdesc(pmd))); + return ptlock_ptr(pmd_ptdesc(pmd)); } static inline bool pmd_ptlock_init(struct page *page) From patchwork Mon Jun 12 21:03:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277353 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 4786BC88CB2 for ; Mon, 12 Jun 2023 21:05:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D1F20940012; Mon, 12 Jun 2023 17:05:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CF1D994000B; Mon, 12 Jun 2023 17:05:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B1DAF940012; Mon, 12 Jun 2023 17:05:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id A3F4A94000B for ; Mon, 12 Jun 2023 17:05:07 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 7E521160322 for ; Mon, 12 Jun 2023 21:05:07 +0000 (UTC) X-FDA: 80895325854.08.FA252D3 Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com [209.85.128.181]) by imf24.hostedemail.com (Postfix) with ESMTP id 6DDF518001E for ; Mon, 12 Jun 2023 21:05:05 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=LGp0peHn; spf=pass (imf24.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603905; 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=CVa9cggtOHSUJO/ogR1wMW2sjtZWNjmDdrC369SVqz0=; b=593bbQkcpMoV0j0DwqpmPPzLcSIMkUKAUGqUN16k75zGN08+RlxEJ+Wbb1iJ3DH4YZGwsT azmhGovzZGxl2EpLTy9sm9TFoP6PNADbh9rq9sbfuRjYD60TOfe4swb4z8qqkPuwgmXDVL HfgDTUDaztTfhWaXGl6th9Asgr63wfU= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=LGp0peHn; spf=pass (imf24.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603905; a=rsa-sha256; cv=none; b=6PCpRa4ds4qZ+6H9YX/h8nWmcm8QIIgW4qhibEd+itukVryP64brwqRfsc92K5vomVPXHz t610DDfR4ngOgSy1fnA7RHdMunMOq8x1A71RE5kAVwzZbpw1x3z6SkANrjp7ZfBeSzHfwl IRBWFrE15Q9UgTycbfEGq3mLjcMU+Xk= Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-56ce6bbe274so29647867b3.1 for ; Mon, 12 Jun 2023 14:05:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603904; x=1689195904; 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=CVa9cggtOHSUJO/ogR1wMW2sjtZWNjmDdrC369SVqz0=; b=LGp0peHnuaxYbTi1TrslUjQMitjh+h/buXXjte+rmzMq8EerSk6fzj/9MIVxfmxSpM Omqu6nYebae8kl4QHV1G7ATHJ83nT9wNtbqIHtA4KnlPAvi/4+5X0WEOsthQhJoYwmhG x7qZZcT6GxEhvCZo0gV9yDh1XejrVy2crvGhXSgjUWCF1D9y073Dss7gKb2gKwKJeIqg gITOZuL6QQ3v0Ru0LyolXLQ7MXgbRP8zVbSmn+AuXiGssqL0cYBREi8V1ugxeRNuLvvw 6oKvVZRZlVRzitWHyvf0O6G2XA5TATPVxsClJqIqIlKCoZg9JlGxlBuUR1XF5sExgOF1 +mLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603904; x=1689195904; 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=CVa9cggtOHSUJO/ogR1wMW2sjtZWNjmDdrC369SVqz0=; b=ezxjK5L01SWLt45hM7YRvidngD+xxkN7jsCBIvCF0T8lpMvhKEP5t5T7oYrp03upvm JlEgfDwvs4Skn4hF9Ik67cyiz6bUimDct+yIgI6VCWQ7jRjDPmyLxoWy22Cie6Xfv8w5 VblCDFJ3I4pYipOxb9Q0iETpABgXH57sLGitjRriAjtmqC3O2KlkTSoXVDSIREw+5USU ja3I0Ew8q3AYDYl+sprMPNieUujgqvcu+XPKyzvRJoX3rlml9nN+J/FvvXWV/Uj482KP RQ23peOB/s4spXZ8ZVJII/XvuXCfD9nXFY3ReP/DUngPSMQnAmCzNK6rvV6xAYYX8UuF rzyg== X-Gm-Message-State: AC+VfDzG4trhZej7UbjRmpnOCTMov39ZQSgg+PUtZInV/wzgfGl0sm0u Siz9xsr47d43wnk2Q3SphEE= X-Google-Smtp-Source: ACHHUZ4LesFNmga2zNafYd025bzkWSSIKRSwmwCXoFtNtSsfVvER7X6NaAl79hSVn0sQ3cUacFJw5w== X-Received: by 2002:a0d:eb83:0:b0:56d:7c4:8be8 with SMTP id u125-20020a0deb83000000b0056d07c48be8mr6827241ywe.16.1686603904409; Mon, 12 Jun 2023 14:05:04 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:04 -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)" Subject: [PATCH v4 09/34] mm: Convert pmd_ptlock_init() to use ptdescs Date: Mon, 12 Jun 2023 14:03:58 -0700 Message-Id: <20230612210423.18611-10-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 6DDF518001E X-Rspam-User: X-Stat-Signature: 8ekbgz7nf19z5uik4rnah5c8bkj9qdxs X-Rspamd-Server: rspam01 X-HE-Tag: 1686603905-410814 X-HE-Meta: U2FsdGVkX1+zJwcohqwjMOj+iiIVzln259yagIENim0SR1Ui6lbSmqc3hSBxj3gjn9fdy6y1ETo/jto8Rsf8W6rsaDzgspzV4cWiTdOa++niywU4HREKGrZCtmsUdrpCwt7dSfW61dIVH7ptSOTSWKb+jKYJoizgg97FxcKhOuD1/ZitRWCnCTz+dp6SOGQ+fmQXMWIYx5enQB1pQ+Y2ozlefCIU56k8u9K/rJvOPbZxPRJ8gSUE7TKjB849MdG67TbT8hptTWIENavNqYVYWS8yOmUg88TzDzTC5VVQ7LJrbnkP9lCN5ExyyDSvrc3b6vC3HG7/XKqMmjGFwnv6JRPab0wSZveL75ZCqFGdeQL5cm5QnqyWMe3NyxWagbpq7kvzZLrQSjnlBFzeXnqkNkwOej1tDrS/740rF/MoYzrhs2j2bh6mg11f2W+dL4f8o/SCKLT0NoDB3/5/eUPgtzMc1dX7NHWE1/mtM/Wl/E54XhsZK04aJC9xugO7r7795qjcL+ktuT5/+9CBdAYS1jfIdDhwSV1dzdqN5DWF3DN7G7Vi7SiO+zMjw5F4lV91daP35eR9SAh8U4oCiOJw3j3Ds5SzdZniAIAE9Or5YI8NmH4O/vc9TBVC81j3OuQ0enk/pNjSFdP3k4UwJb7C9VI4MdUvIy8FQOJ1BQ1UqN99M0PruMxkcbulIHU5Lfwqom6rMPKiEQ46q+KqNuEw097stZ6suDFy0QdBV/gYo89SVpeaHDL8g5AL6LQtT+fiIfBIlQPvy+8wTI6b3jRAenHFzuDv+y13KXgrYb9FDNIoOJSMAodW90Vacn2JnEfSJtw8709rkDMwsR33C/5MO6Gy6dwsQQC2UdLu7Wxyok71Kecbm4kUkz4kI1q5WAtQ8jKm30tuUyrJLW1w9ezsT/LLm0sak7rMm+dJuaCWGKIFT6VXH4HmXHdMqIpaK7V6HPgqvySSwIc5I2kPTcd fkAQ96yC HgpgEgP34CD/Oppyqt8XlVXvRCazWPsnWIha3tSpnAtpc8B2XJFdtSNCPIsQF49W1pHBZWNnkOEF2XSNc0u0negZKYqYBJAlntOhzIpRTXOvfqhIJlqTn+qSa0Y51feN6iltxiLnghnpYDusLWuayFxnQH/HkXec9h8emGwBKar94dqrPvShSZ0d41KrBbosUYTRNFC5t6zJRlQac0FBA32kdcvz3GIdiaV4TN62nE+Q4cdd1acTOx7JBb6cSiucJbt3bhn4fpHdP3Y/URtleCrIC/kugOofD0/b/Imn0DtfEJywv6qHCqCXgCUxgPTj9URHW6hceSCVTWEF2ZbJJck3QPvA1oMmpSmoqQ+ONTCOYk+aOPqIeCUuXqooUvrB8COZycZafaz8T49DTFUaGKVsOVJAQ9eJeEbcB7SUs89HIGvxCmxLOwkjoNBsBp/zz5RJufeUPyHtujWQTBuiXxhWby9NLcMi/idSTwAAdQzaLUeiPlZpsiWlZIAZgrsq/1ZOz05HyfBC+37WdWM2QhVEeiSvXreFZF47W2A78x13vvFfnzPSXM1C0YmodwKalCdqNPs8FaewQWsA= 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: This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- include/linux/mm.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index bb934d51390f..daecf1db6cf1 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2942,12 +2942,12 @@ static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd) return ptlock_ptr(pmd_ptdesc(pmd)); } -static inline bool pmd_ptlock_init(struct page *page) +static inline bool pmd_ptlock_init(struct ptdesc *ptdesc) { #ifdef CONFIG_TRANSPARENT_HUGEPAGE - page->pmd_huge_pte = NULL; + ptdesc->pmd_huge_pte = NULL; #endif - return ptlock_init(page); + return ptlock_init(ptdesc_page(ptdesc)); } static inline void pmd_ptlock_free(struct page *page) @@ -2967,7 +2967,7 @@ static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd) return &mm->page_table_lock; } -static inline bool pmd_ptlock_init(struct page *page) { return true; } +static inline bool pmd_ptlock_init(struct ptdesc *ptdesc) { return true; } static inline void pmd_ptlock_free(struct page *page) {} #define pmd_huge_pte(mm, pmd) ((mm)->pmd_huge_pte) @@ -2983,7 +2983,7 @@ static inline spinlock_t *pmd_lock(struct mm_struct *mm, pmd_t *pmd) static inline bool pgtable_pmd_page_ctor(struct page *page) { - if (!pmd_ptlock_init(page)) + if (!pmd_ptlock_init(page_ptdesc(page))) return false; __SetPageTable(page); inc_lruvec_page_state(page, NR_PAGETABLE); From patchwork Mon Jun 12 21:03:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277354 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 24D91C88CB5 for ; Mon, 12 Jun 2023 21:05:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7EBAB940013; Mon, 12 Jun 2023 17:05:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 725F794000B; Mon, 12 Jun 2023 17:05:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 57A17940013; Mon, 12 Jun 2023 17:05:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 43EE394000B for ; Mon, 12 Jun 2023 17:05:09 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 0F70DA0336 for ; Mon, 12 Jun 2023 21:05:09 +0000 (UTC) X-FDA: 80895325938.21.DA4FF53 Received: from mail-oa1-f45.google.com (mail-oa1-f45.google.com [209.85.160.45]) by imf09.hostedemail.com (Postfix) with ESMTP id 2B60D14001C for ; Mon, 12 Jun 2023 21:05:06 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=bBBhxHhw; spf=pass (imf09.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.160.45 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603907; a=rsa-sha256; cv=none; b=wd/anRCCKIo5bd4zGm/CWsG/w6cfbcYJLPXPWfkiXjSafqEnE3kYfDUx8jRedZ+NdWd8dN yFDuH0PucR4lqehYGp1oiYm85cODoWBglY6clEVKBckiEYKW1b+5NCyNps8tUmNOnoIkqx z0SQLALndgCokVJ/hXmHvtvzQLMfJ1g= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=bBBhxHhw; spf=pass (imf09.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.160.45 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603907; 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=8r19jukxjbsIB2/Mx0wfUFI2Md2D0Tal9unGSXZoJa8=; b=tRPPW249Z21vm4hNwrkI0ajkCFThN/M6Ab+Du/U228OZW5zWv6Q6jNjTgGCaCg6az/o2f/ 4q89vxNDZyZeEdrg+l9xW7smeM3Vde/pMuaX2eqWK9PoMLWOukzjW0eiCRQ/21jd7f3HpL 0nlT1JFveZ4jXt2pc8Q3EezEECsEQZ0= Received: by mail-oa1-f45.google.com with SMTP id 586e51a60fabf-1a3897d9697so3578996fac.2 for ; Mon, 12 Jun 2023 14:05:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603906; x=1689195906; 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=8r19jukxjbsIB2/Mx0wfUFI2Md2D0Tal9unGSXZoJa8=; b=bBBhxHhwNc0dlcaV8h2a4XYBtWHGe22hvKvpniF7KzCYgALGdtw6ZDxkDC9x8Aeb3u L7SfltNSUTPpMMAZAPZwSuq1VjJBBWwWiBaC+Bz46NWJJnZ6VvwLLTRGFLrpelYb2La+ Z5XBEGo2Lx+4Q4s65Lii1xiAS9gXRmCdJj9fBmU+7pl8WPQzciZNN9tEea4s2EymiOfj uSb7iAfMXBR2nKnU1BBVn2AVnOIW9drJ/7GGkqivFyyrk3Sd/OJyxdPtL4bbaX3dpY3E iXz0Nc/l9PDCGRHW4+I9NS6xogIi8lZKNWODyR8ULfa6yt07nj/HtSeI3w5uor1wLjvR igBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603906; x=1689195906; 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=8r19jukxjbsIB2/Mx0wfUFI2Md2D0Tal9unGSXZoJa8=; b=EEouPmSHM/ZLLnPZIfQYzO5Syyin4D8vrC4FqMyYTbdcRLhCQovFXB3TfxfkAGaV6O 5IgSwtWpdQuhZVe5pAXRaAB4xYjTkun/P1RpC9fwwAH7btkWY0EdIwRTG9hOpqQuHFIr lSOPVgJ4TVNrnH635tE6F5tf8ikGsDCx/8oisQEDcoD2NeRHkx4SLcNtP/kn6/Z339eH GQR3xZ1JWFemOU8XBF3cEfTlt8yfkBkjCEJdShlatf7KTziDJI6qNB1QFWQgpO5t+SkJ uNqhWVbDDnqGsmG3FxYW80lgW6SfLx/u1A/Z2bjhqi1fFWUhzrilNfo445+P/n1a2/NP 5k0Q== X-Gm-Message-State: AC+VfDyXXVqSDw3HXYpnZWTlQlFf2qwwS0KzIrEJ8ZuKAN18M6fQZPen 0+RRNE+frbRetOEE6NwaY6o= X-Google-Smtp-Source: ACHHUZ6a/96wj8UsR1eewejCsUK79jNNmW6NRKVRY6WskMtRjwMJM0HWL1CF60/WviLDJygSxMchcw== X-Received: by 2002:a05:6870:989c:b0:1a3:4072:58f1 with SMTP id eg28-20020a056870989c00b001a3407258f1mr7318868oab.6.1686603906371; Mon, 12 Jun 2023 14:05:06 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:06 -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)" Subject: [PATCH v4 10/34] mm: Convert ptlock_init() to use ptdescs Date: Mon, 12 Jun 2023 14:03:59 -0700 Message-Id: <20230612210423.18611-11-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 2B60D14001C X-Stat-Signature: sfhnxjq68mce11wrhmweccbo4eeno4de X-Rspam-User: X-HE-Tag: 1686603906-662556 X-HE-Meta: U2FsdGVkX1+Gs2caw5q2DWfYnC5XRUWYu1XCiuG/tpFmExREAiINvMxzAnd19nWxJd1N1JLeYy9ufp2uHDTLchc2/5kR/lGF9OEYyJRCYtmosTZ9ranq3OStQevibhPtvhegRm4tcpYzbY4t6JffiVAECPrlJWb0e29f6dyFac0ilYvz5Vi1TAEN8kgdWRevm+vOeBp1bCNBiwhbfxwCkJic4WEy84vrgKKTuHdQTx0gUmeqnXLdzdjiV5h4zB8sQVk+IUzVVMBF/unQnPIlWVK7FVLCEkHRib2eHLDPuLg5PPF6zHJjMbBT9q4JeZJkQNuEM7y8VEAob1B8upXQ8Tj++UJn3wflfNiM9k058/tpQbPHYDOlrJKiQouZ76+9fVfCibeVApB8kxXb3G5v+ZrYcOM37YSbZsci2WN3wAcTq5+JvS0cKYXN/w70CpjhhrHs9zegl3fSSOdHGSnmZKdzhSqbIbYX9tiNGDcbaz2PxJ3DU+ov2wyK9mulipAQo6iP9HXSQ2LdOGgB6m+eerXb/zJf4IWn2fAZmVhbJxWauLya2A6bYZPBtjsRUkKSxzC1e8ppLlorZF8bnH5vBICWrkxigOw5NfDqX4d2wLv19z0E7y5c27IVBHHgcKaazUEhxc+WHdCv0BftLvNDK/EXYA5PLJGtRwgeaq5thV36F3mgl7HoTiHuzGefF5RayoUmzss23ztYf4tHECr4FjIOaHGMKClyjq1wABLB36QN+bgJ3zsGNR6wYBKFujaa+5uaIMeimTDr79sPzLdTf1q04WhDu+tUprphywGQxUnW3yYKrILd5r8vrWVFJ+JezDHNdO2hJZ4dXm3GIYYSnTEu5bLcIgieZC/h7v64T6RwyUkIlqX8Z+Hu0gQcoWBoG1FdLhJCad0E80yG+O+JEkMYppSTUPOZOzY1kLYZ4IT2ft54R00wH/KJ52Jg09nw+fofiA2P9/frlLRnwMq Bpd718Yb ft6kKDjQKZYHcCQ2UnRBlaekDBI1H3QUH4qQU6DGocOwQSvwQT/ErEzYNleu7DWQmXHUebXCeXlHlXe05nkvb2rV26fnf/qdM+aKASfDZZW3SUDMuxgkCsgQEW83IdQaVXAZk7RMF5dpeyrJcFuTRfHgk01THopeTXGXcvkjAMaVHdm2zN0yuf2eiBRXQOutfrftEiZQwwwhqesBu+MaCrqsIdwZtnC66KEhLy0/taXbuE/IaGMUkUyUPjHiuNb+Zz1bPhnzdEXfxMrHMjqffk4AemJxqdgCEiZfmCOCt1dVLtJwkJRFSglaG8Csgmcy2hQ3ptG7dxqWuVfTdxULNjkIuWl5VBZxlRUIUDF5GXA6ULTFN3W/HQXNUqt+HEKEE/KCRAw7TczKghCyVxs2/k7tG5vrmt/gYlAYAQmhDiKU5XzC/QIBEa+EnH4muq+95anG/2IdMiecGJ1cwNiaXnpA3jYodLcWX2wH1x5aGbklOt3VFwPadElGW7IddZVrjh02hjOinNWdqJNnzXrgER7dq8xhbRkmrmafu 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: This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- include/linux/mm.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index daecf1db6cf1..f48e626d9c98 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2857,7 +2857,7 @@ static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd) return ptlock_ptr(page_ptdesc(pmd_page(*pmd))); } -static inline bool ptlock_init(struct page *page) +static inline bool ptlock_init(struct ptdesc *ptdesc) { /* * prep_new_page() initialize page->private (and therefore page->ptl) @@ -2866,10 +2866,10 @@ static inline bool ptlock_init(struct page *page) * It can happen if arch try to use slab for page table allocation: * slab code uses page->slab_cache, which share storage with page->ptl. */ - VM_BUG_ON_PAGE(*(unsigned long *)&page->ptl, page); - if (!ptlock_alloc(page_ptdesc(page))) + VM_BUG_ON_PAGE(*(unsigned long *)&ptdesc->ptl, ptdesc_page(ptdesc)); + if (!ptlock_alloc(ptdesc)) return false; - spin_lock_init(ptlock_ptr(page_ptdesc(page))); + spin_lock_init(ptlock_ptr(ptdesc)); return true; } @@ -2882,13 +2882,13 @@ static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd) return &mm->page_table_lock; } static inline void ptlock_cache_init(void) {} -static inline bool ptlock_init(struct page *page) { return true; } +static inline bool ptlock_init(struct ptdesc *ptdesc) { return true; } static inline void ptlock_free(struct page *page) {} #endif /* USE_SPLIT_PTE_PTLOCKS */ static inline bool pgtable_pte_page_ctor(struct page *page) { - if (!ptlock_init(page)) + if (!ptlock_init(page_ptdesc(page))) return false; __SetPageTable(page); inc_lruvec_page_state(page, NR_PAGETABLE); @@ -2947,7 +2947,7 @@ static inline bool pmd_ptlock_init(struct ptdesc *ptdesc) #ifdef CONFIG_TRANSPARENT_HUGEPAGE ptdesc->pmd_huge_pte = NULL; #endif - return ptlock_init(ptdesc_page(ptdesc)); + return ptlock_init(ptdesc); } static inline void pmd_ptlock_free(struct page *page) From patchwork Mon Jun 12 21:04:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277355 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 3D0B6C88CB2 for ; Mon, 12 Jun 2023 21:05:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6D84D940014; Mon, 12 Jun 2023 17:05:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 68ABC94000B; Mon, 12 Jun 2023 17:05:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 48D5F940014; Mon, 12 Jun 2023 17:05:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 3B3AE94000B for ; Mon, 12 Jun 2023 17:05:11 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 028831C79BA for ; Mon, 12 Jun 2023 21:05:10 +0000 (UTC) X-FDA: 80895326022.02.E9BD4CD Received: from mail-yw1-f170.google.com (mail-yw1-f170.google.com [209.85.128.170]) by imf25.hostedemail.com (Postfix) with ESMTP id 3A461A000C for ; Mon, 12 Jun 2023 21:05:08 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=cJPixJ7f; spf=pass (imf25.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.170 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603909; 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=e/NReaJdz90gZ2NQIlUYsxuwjuA5PoSk9HvAIR22dRg=; b=zuGi4cdA9cpdj548Ip1guP4ToDt+mj0gbIMhodIQJaUFTRhopy4O0V3XQrPBSxH+AWDgKI Nhv3OzxFF7rRvHVQGqNJkKN3NsOe9AtzlZWxVeLB6nqkRWO+LyY+6fbPhqyBjgOR8BIXd1 +wW9OWhcu7D0Ll08ZhDek5k1AUDjzRo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603909; a=rsa-sha256; cv=none; b=4t4j57Zx6nCnejfCIJ82ed98RQXp+svRYy0wG2dlu4WCMzsPq9VTp0BNPfXw5xKZarrHqU UYijiZzmVP+uB1ITwKB0J2cDm33rKj8APr4VIl45k2GKSbJ8iMoEJUypqMTuAMUbbBqMgq a6ulU47afjxZ0WdljSPUDMcgTrA+fw0= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=cJPixJ7f; spf=pass (imf25.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.170 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yw1-f170.google.com with SMTP id 00721157ae682-56d2b7a9465so15630037b3.3 for ; Mon, 12 Jun 2023 14:05:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603908; x=1689195908; 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=e/NReaJdz90gZ2NQIlUYsxuwjuA5PoSk9HvAIR22dRg=; b=cJPixJ7fvL8lj4msWoT6T4UdDliAegelx3fhfZFkllamFJSmCzzBfgBkJHvHf5VBH4 +bFQaX0c9HvMpz3cMr64OoUwpvHF+4NrriYC39tboK0Z4VjLF9J6MmzkevSDnSF+eJ9S vsFP6THd62TglAym5r/waWV4KiQYY/X7Hysf9ft4FBrKTw7bicGfQMMhWM2I4CuvKtOv cwDTHbNBV8LRmkAEvkAc0kAr+XDxv+lhnXg68dTw4NnjCIip7ummoW4kmN1lP3wtz1t1 rgvGb1IbL+Qt1u/Y4z+ep/GLJI6yTMWmeJDiLjESMtlIxdtrVlVrtQkxPe5yKm5XHK1M 0mYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603908; x=1689195908; 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=e/NReaJdz90gZ2NQIlUYsxuwjuA5PoSk9HvAIR22dRg=; b=JUWZCY2YhfxSEBZez44vq/UbI2ic+VJKJ6+2Lsvc+u1kODiZU3oP59Sv0Nj82CZe6M j0FkmcWw9KaZF7AYNiRIfl+jOb4o9i6fQG0ryYevm/jB/xrhEDDFcfrNQIvva8/JaYEl RzyDa0GLJ/CIKa3V3bGo1rzVp+PSey8TyDaapcijcAMF/XytO8P5HQSSbLgywFuDo+/C dxxHvtQRCMLm8GPFkv9K/GXe9OAjeGIgx1W4qBlLHXBu52MkQYbvUcOFU1Vs6QKeXayL qUCFQ7pUMZ4OzJkaXsalBW2+JnqqzTFw41UNOqsJ67dyhnQ+szEtfnm8mg8/qG5MWCzf CqSA== X-Gm-Message-State: AC+VfDwTPuGd/7/sqRHJt+6D3XXl9uMc/GmFS3fbGRA9V6zgjtiXJFY6 DLQpmxIAgVKE7WClPlebHrA= X-Google-Smtp-Source: ACHHUZ5kijcVYXBTbbFcK1VnPllJL1iB2ONZxmZAAAXhO7jcUSS10Gkxlzbwqmp6U6Z9PG+yvX9PWw== X-Received: by 2002:a81:9288:0:b0:56c:f916:905 with SMTP id j130-20020a819288000000b0056cf9160905mr7254032ywg.32.1686603908266; Mon, 12 Jun 2023 14:05:08 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:08 -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)" Subject: [PATCH v4 11/34] mm: Convert pmd_ptlock_free() to use ptdescs Date: Mon, 12 Jun 2023 14:04:00 -0700 Message-Id: <20230612210423.18611-12-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Stat-Signature: cti5ikgcmh7q6bzm9j1cc65u4zisjtnf X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 3A461A000C X-Rspam-User: X-HE-Tag: 1686603908-302508 X-HE-Meta: U2FsdGVkX1+I4EJ8mZff6aHZWysUGe96RdEe2EgwoY9K3CD6+tdanbVOUUDkCPwuGuBZMgSGjeW9V0/TrFKfMLMg1RQuf0+BPKCkEMKR0upO498EMpyFxKV6Ylp1gDyU+r+LMrlXtp56oj1iRTSWa/ja1PsG76h1Awbg3+fwu7h96fE9ylT32sSl4QPp1B0UcFm9yDS/sdUcNO906OEtBnpB4BzC5aRK13DY4XKc81uX4ttGLJ9Nx33GVcd/toH6pGwAqQxMvFp0JhAGmBreZXiGV9IM8AEIZ9kWFjTvIonVTf8kg6t3QpgrLfk8iIgZLGHvWQyKemywIsHU9zSEwRHps2GgCwJbtVcnKDv60EUBXK4tdD9XH00TwtG/Nz90LioIpGWyq1Mj92KM6AH+nIdGiwmP7korQq0iW73LKEkS3u7eg4m67sZW8DIuTK2B7owocE+utFvxtLPKCBd8Gjpl22rY37tFJphZ8paD6RA/0fFVpqM72O5oKzAgvRml2e0sZC5ca6rEveW/IleksDFmjYfMjizCdb/RX1m4pARYdPjVNGK091eDzb/0/BPIv0ZpcKj77TvLIH2hLgqcg8b8hM+CHoSrJxrJPPiXjzUfdgpSUqWlLV1a+NmSrowhb3Fz+IWkMTnec5n+xVIIKGtXdxbthU4DEQdC7T5NBPwEifMbON4yXx+zqicUrxSdYVVg0164BtaV7N+Lu/ho9jRZp6whO/zCcGiOlGfYYl6Y5dQ3xWb0Oj5TJDkIU5csaxTYGbMFGB+GE4hfLZvt1jr0i05eN5djsqX83xNfCyz+iPg5pHnUFFKeyvrXdbSTad7eBgLg0lazuA3Izsr/+Pbw/w65fQkH18GZf3g3W4uIkV0M7pa+aNdDCr/y4LVVKQb1lpeLFBQAKLLBN1+dL3CQUIXQ1F/29rJ91rWXNDbp/SQ4Mvso49IfiJaZ66B7D0el7PE5w3ay2T1uVLG X+G8wAEq zprDLfozbHBYa8t9AqSGxpXvhhgogUrSZkfPdm7DpHWMVmK8IPXUi22wDbJWkQVeMBHM7PUR957Iwyvop3eJ07etbSxsamtS6mb+/xtjH3I+QHmfhUVyN5SZqpJh+kxw+0VdzyrE3+49v93XN7uiWqA7M3RTAwPgHZwCMEHKFT8PktAKydzQmpuT7zvHRxstf0g0fAbsCVWrp1a98drj+5nwdTl56TBM9yXiFECi1WlXBBfHQjRnsG4SKAg/mQy6hScOcT3i/KSWEuHgPvPdnJJVdcXUGM/7l3YS3xyCzn45Yj1TFhZ8WuMIdqg204ZrKbKqTnHIuI8IRayILiQc3aP4S4nvIokow5nlAOfWASDKmM12do6b5jcagSw0TZgj5muW4JfBO4hzpDpyEal1IB/1SP38WLGUzbS6vgHUqy5WFksEmXGkjXQ/Ugi/YheFgxOLZUsjhWxwiOS2HU7Zqssw5Q6wWu1zfyzqYDOnOaJ8JJlwr00KChdc4/BX4Jhigcr+X1h9qpaP7IXLfQLQpNwS5GBM681Z8Powp0Ld8fagkk6Zpx2v0XaZ+gchNXBGC3BAXKN4qnl3stsw= 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: This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- include/linux/mm.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index f48e626d9c98..3b54bb4c9753 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2950,12 +2950,12 @@ static inline bool pmd_ptlock_init(struct ptdesc *ptdesc) return ptlock_init(ptdesc); } -static inline void pmd_ptlock_free(struct page *page) +static inline void pmd_ptlock_free(struct ptdesc *ptdesc) { #ifdef CONFIG_TRANSPARENT_HUGEPAGE - VM_BUG_ON_PAGE(page->pmd_huge_pte, page); + VM_BUG_ON_PAGE(ptdesc->pmd_huge_pte, ptdesc_page(ptdesc)); #endif - ptlock_free(page); + ptlock_free(ptdesc_page(ptdesc)); } #define pmd_huge_pte(mm, pmd) (pmd_ptdesc(pmd)->pmd_huge_pte) @@ -2968,7 +2968,7 @@ static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd) } static inline bool pmd_ptlock_init(struct ptdesc *ptdesc) { return true; } -static inline void pmd_ptlock_free(struct page *page) {} +static inline void pmd_ptlock_free(struct ptdesc *ptdesc) {} #define pmd_huge_pte(mm, pmd) ((mm)->pmd_huge_pte) @@ -2992,7 +2992,7 @@ static inline bool pgtable_pmd_page_ctor(struct page *page) static inline void pgtable_pmd_page_dtor(struct page *page) { - pmd_ptlock_free(page); + pmd_ptlock_free(page_ptdesc(page)); __ClearPageTable(page); dec_lruvec_page_state(page, NR_PAGETABLE); } From patchwork Mon Jun 12 21:04:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277356 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 4B221C7EE43 for ; Mon, 12 Jun 2023 21:05:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CA566940015; Mon, 12 Jun 2023 17:05:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BBCC294000B; Mon, 12 Jun 2023 17:05:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9C0ED940015; Mon, 12 Jun 2023 17:05:13 -0400 (EDT) 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 86B8694000B for ; Mon, 12 Jun 2023 17:05:13 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 3DBCDA030A for ; Mon, 12 Jun 2023 21:05:13 +0000 (UTC) X-FDA: 80895326106.07.5931BE0 Received: from mail-yb1-f174.google.com (mail-yb1-f174.google.com [209.85.219.174]) by imf08.hostedemail.com (Postfix) with ESMTP id 6B503160026 for ; Mon, 12 Jun 2023 21:05:11 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=RjdfKdwo; spf=pass (imf08.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.219.174 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603911; 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=L3tBY7hT3/idMeTvV/y5HT5RaeYwytDxSu3wHZHQdRM=; b=vW7LehbTioP8gVVLkGL7Egn3cDvEgMrViBAKrI5R3KV+5I9v5B4V3Klb5isden7vIsDucC ZafD//60Ofx69KFgJ7jBEESUy2Jw6bMy4jIg0js5JrBNI9zPqKnYICDfkxwneFT5f1H/lQ zks7aD0ycN41QBBvsfzYIDlb+W11z5Y= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603911; a=rsa-sha256; cv=none; b=sGhUtiALXrsCEKbUIMnOvyN/wi2J9QG3Jd93TtSPBed3jl24Cd215wBXj3Agr3ngCIrFin gakIA1AKDxVvzIzm4W345Uh9+hn3QF7BjI3fEwUcY+yER5oBIyrZAhDEkaDmrX8ZV+CZj6 egiGe6h/Q3HZ5r1QMoNNYCg/v7D+iVE= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=RjdfKdwo; spf=pass (imf08.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.219.174 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yb1-f174.google.com with SMTP id 3f1490d57ef6-bcde2b13fe2so878571276.3 for ; Mon, 12 Jun 2023 14:05:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603910; x=1689195910; 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=L3tBY7hT3/idMeTvV/y5HT5RaeYwytDxSu3wHZHQdRM=; b=RjdfKdwo6GGvbEWocjhzyfrIG+s4yeNfDttrrqwnEGORQ/YPC7ZVmdyS10JF0LYqJm b6bU5xmGwzXI5ZQkTCKkSHLlY6xUp5TM7mFPqEQ9UqdLvwpNas5BJtZzv+iakqyWNnr7 ZbUjNLXHM5JpGCASroX3mIknKspaiVxCKS4EWppAxztT7eGSIBBwCNu77Cy7Q7mvbAeg nTWfF3Iwgf3p1K6E3gymTY1cP1wx9AawPcYyp7n9Z4TFzq2NVk0pgr/BAa6wSZIWoNVz 1+4z+b7cL83but8FZFxeoUPYZLJOz76q6IoC2hSwlZOG2NbQ38EQV2G66LjHRDN0bxiF BZ7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603910; x=1689195910; 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=L3tBY7hT3/idMeTvV/y5HT5RaeYwytDxSu3wHZHQdRM=; b=JEa9rVp7AZcgWnDDClX5FoRQ/ZOCHECbnegEElFxDTSYtzOR+vZpm7e5J0E4DLvaei WIwhv9ECYmh+Wl/92yH/e0tQR6pui0tNrJmjY4NMWl9RkgBgBPYsze3UAXYpO1gozqpU upV2HoONpMjIyNUcFbV3hQ3gncEsHovWhaAG7ItLNsii/7upTOpVLNptAZjDNv2RhP3L 4uT2MOTrOXeSkgJE11WnmGdO0rpVzGRGGxuRGHKaWAJi5rJEgjXQ7LcGtJ9zNtZiIfoq urB0ZAndGrOX1uk0wFhNbk296UapkuheRQ7X0RBbjf/9npM7q6XIds3xq8KK3EyLEfZr MlRg== X-Gm-Message-State: AC+VfDwo7FCTTcSWrdvoMuaz2bP4+YOhPJoniMJob9yt+bjwZVovqDGw dmfFd9yYy2jg4sCq8spX24E= X-Google-Smtp-Source: ACHHUZ7G4LX/rzVzMPXBxUvcWoM4NVaiAOMXANZTQdr/GK3rhr2fg9ZSIMvpPffGov7SQ8stbPFS3w== X-Received: by 2002:a05:6902:2c7:b0:ba6:e17a:abc2 with SMTP id w7-20020a05690202c700b00ba6e17aabc2mr8959494ybh.63.1686603910188; Mon, 12 Jun 2023 14:05:10 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:09 -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)" Subject: [PATCH v4 12/34] mm: Convert ptlock_free() to use ptdescs Date: Mon, 12 Jun 2023 14:04:01 -0700 Message-Id: <20230612210423.18611-13-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 6B503160026 X-Rspam-User: X-Stat-Signature: x5oxjhrxm6kcwgsgejryed91bauft9h8 X-Rspamd-Server: rspam03 X-HE-Tag: 1686603911-684743 X-HE-Meta: U2FsdGVkX1/x1rjjPEQ1M/cpNsglT3aNVlMNGtZAfxENJg1ej/fkLPxQ3MD42NTCcuUTr6ztGcwGHqJ5M5kINZfaK0yAiotTsWf5uYsDbauB/O56aCG/IqtGJclUIN8BRfQuQVDZ7KHY0fXlG/FW8s6hvhO6h9pK7hoRCSyyjD560DbhWVhru7hl5l4Nk/Ef4Yu9GXQI16JHFFJ+qtX8/oVsDI6q5eHgAj4vt1RY04HIblFLRXotzKkqf/0JRntzbdC69mGGU1nAYIrWJToS2es45zjShWWn+WyyZTD63N/63PGnYykxrCrU/C31nbQuj8MX37f7xpKHqnPx3uHPaGS+SUrrvnGtxUkHXrnQ+/f4gDlq13aoFuTYrZXeww6fTYu8OWmV1RF393XLH6Uw4QcFaQIkqMWJ9EbwDNqUsNTH/zXbH4i6zHiGd/3gdN7l1Pm0zrmzRKfgbelfLzXeAsuCKFmB+ctKIvOvJk5C4MHNTpFtjzJBSwQht39BUSZ02vG3MMJiriUZ0eN5yXsXoZuzb5tJJoEfVZLevz3coeu70Ag6y1K0qUYBPVcy0FfXJydx4Vg4lwXMWsOwaj6eHl2JZ5sqUl9m2lHaKZ0YNTZ8/M507mG8mAmojGcrnGl7bK3xP5eu5+wAY9wUb2qqKjyoPadLLlQbdrVQpP4BXuQQxqaQoed6yPp7GBmbUH4tjCVnNuw+ttat/MCyEsaAa1ZH8jvirI1F6LSCTh/gaayTxf/2myPPtrvFGpcGRpm/47DcPeWVjNbmXUn9PXuGvV9TAR46VZuo3foMkP7JyEvHnyRMRHk1SgPVW6nY9azw7sgEKu6WI60vaUWaMq4u8AD9EYuXpZxAX8YbgrZPAaEk2BYtihprI20IcOyZEFDxXvXQa4DActE3UCz1ZFII+Dbub2Xfz8wKBlNQaL+t5RZmWFdTuMDTCB86VM64DF2Mn+98jWQWxZMbBscSEEh LFANX7dj NQUzgSqyx3BpGOs/R36suNfrTjHKVJu3v+H/2Cuz/rmYEen8aQRZtmccswgJ80L70A6IrnYNPdKIxYY6LlPpjLBm0rqANIPIuVlltqy2ewch1Eyui/l3FJkxJEWmXq+Zz/vvY3QoA90SAbH66cgpffVgBlEaAdtuk0vNe3pewQlUvTSuGvG93l5GonKQ8Xla1Vxc/L/oJGaZo3OZFyNAg/ZaLE+dgIhR2I0dr/02bPPyAH0squv/JT9UL+p9Uoi2xplkQx0/ujNo1x6HGdAIP46DPL5ouViGSKxNNsHMETdDABcBd/Td48B3kaBQ3aMhue3+FYzf8xCbaeRuazAGTyHS5olrLvPA7MmEZDFyt+/zMfsveR/OqFKtOMEXD61eC8gMSrIXU+eaRSU7XC3iRbT0VgZpvvyb+/VgT1A54h1t6rfIzge1m56hzZqZ0eovNpFkLu6hz3m1qKLplpDjgMRzM9SNYPYgaAZohZGLLZvCrRLFF9vacAQmtpdd/56GhUrrLYypUA5WzhvscXvk7+su+M9DJKBht+LCEMrjvHBivh34KB8bVI8zzAf/ekxtapiqC/QE45V4OA9c= 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: This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- include/linux/mm.h | 10 +++++----- mm/memory.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 3b54bb4c9753..a1af7983e1bd 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2826,7 +2826,7 @@ static inline void pagetable_clear(void *x) #if ALLOC_SPLIT_PTLOCKS void __init ptlock_cache_init(void); bool ptlock_alloc(struct ptdesc *ptdesc); -extern void ptlock_free(struct page *page); +void ptlock_free(struct ptdesc *ptdesc); static inline spinlock_t *ptlock_ptr(struct ptdesc *ptdesc) { @@ -2842,7 +2842,7 @@ static inline bool ptlock_alloc(struct ptdesc *ptdesc) return true; } -static inline void ptlock_free(struct page *page) +static inline void ptlock_free(struct ptdesc *ptdesc) { } @@ -2883,7 +2883,7 @@ static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd) } static inline void ptlock_cache_init(void) {} static inline bool ptlock_init(struct ptdesc *ptdesc) { return true; } -static inline void ptlock_free(struct page *page) {} +static inline void ptlock_free(struct ptdesc *ptdesc) {} #endif /* USE_SPLIT_PTE_PTLOCKS */ static inline bool pgtable_pte_page_ctor(struct page *page) @@ -2897,7 +2897,7 @@ static inline bool pgtable_pte_page_ctor(struct page *page) static inline void pgtable_pte_page_dtor(struct page *page) { - ptlock_free(page); + ptlock_free(page_ptdesc(page)); __ClearPageTable(page); dec_lruvec_page_state(page, NR_PAGETABLE); } @@ -2955,7 +2955,7 @@ static inline void pmd_ptlock_free(struct ptdesc *ptdesc) #ifdef CONFIG_TRANSPARENT_HUGEPAGE VM_BUG_ON_PAGE(ptdesc->pmd_huge_pte, ptdesc_page(ptdesc)); #endif - ptlock_free(ptdesc_page(ptdesc)); + ptlock_free(ptdesc); } #define pmd_huge_pte(mm, pmd) (pmd_ptdesc(pmd)->pmd_huge_pte) diff --git a/mm/memory.c b/mm/memory.c index ba9579117686..d4d2ea5cf0fd 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -5945,8 +5945,8 @@ bool ptlock_alloc(struct ptdesc *ptdesc) return true; } -void ptlock_free(struct page *page) +void ptlock_free(struct ptdesc *ptdesc) { - kmem_cache_free(page_ptl_cachep, page->ptl); + kmem_cache_free(page_ptl_cachep, ptdesc->ptl); } #endif From patchwork Mon Jun 12 21:04:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277357 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 6A34BC88CBB for ; Mon, 12 Jun 2023 21:05:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8FC49940016; Mon, 12 Jun 2023 17:05:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 884B394000B; Mon, 12 Jun 2023 17:05:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6B0B4940016; Mon, 12 Jun 2023 17:05:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 5BE5B94000B for ; Mon, 12 Jun 2023 17:05:15 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 35C5F1C79BA for ; Mon, 12 Jun 2023 21:05:15 +0000 (UTC) X-FDA: 80895326190.12.FFD892E Received: from mail-yw1-f180.google.com (mail-yw1-f180.google.com [209.85.128.180]) by imf09.hostedemail.com (Postfix) with ESMTP id 4A4E914001B for ; Mon, 12 Jun 2023 21:05:13 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=YrxPmjxN; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.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=1686603913; 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=EpDrDA23aZZSOuD9ECPgZVlXX9wPcibxiFG6a9Pg6kw=; b=NuRWaJMX+mX6ptvhnQ7tG4P+Y+u5xVXLj3VIGbYng86ETkc59BFKcx3xCA0W0XbkSujf6E eTDD4myNZbiXumFyWg33Le8vaOXE/wqNU9vN2/DfJlJ/4qAqFSa03DlGTFVOuRsjyUCjO6 t0BVjHISu41LhoqlRGcNI7/x5v75xm0= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=YrxPmjxN; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.180 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603913; a=rsa-sha256; cv=none; b=6O6RHXQR1RIsPXPG0qXk701uFGGIvAYvdU35PHK+sB4chLbNsDM4FM8b6h0HNMe94PnzSi Y+b/PUGs46vwvOGdcO2p4TLhcJZ3qYXk85KMkT/uDkbYovhO0XkXYJic86mI0R02ihztiR YZzaIu6C5ZhRmYBL3NKNwxbn2j9pv7Q= Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-56ce96063bcso37492997b3.1 for ; Mon, 12 Jun 2023 14:05:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603912; x=1689195912; 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=EpDrDA23aZZSOuD9ECPgZVlXX9wPcibxiFG6a9Pg6kw=; b=YrxPmjxN/Qkfa39Za5HTgq4QQ3f9/zju1xoEkMHY76VWuya44wSbPKtXjzKY3v7sqU GBxsM+H0usX0mr3+rL1pflvYDpTa44gJOcWxVcOnDkRvcMNiHbLrpt96vvJ6FNwKJltW cMJPyFVQ/eSt9EDvrymbmWnro3jKR5HGdt4l2wI6AjCbDnCnt1cg4A0jjRLl9BCzyZ7N VzgyM4qBAMmkmToFHzJWSn2lcW28mUGQcMgbZJj1Lk3UeDxgd0pcGGp9/tqybVBUSS6z sfRYAsqcMK0gYJ/10nym3sY5+OJ+ZE83bX/QwPKBvH0660Lco3siIL8/QCwpR8viXQgt 6rfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603912; x=1689195912; 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=EpDrDA23aZZSOuD9ECPgZVlXX9wPcibxiFG6a9Pg6kw=; b=lFytRdMOkY8RTFz7O+J4QJsjUGIZcIGNHjwMLbQwFy4lUMYiLZQRm1wAlt8l/BKPZJ r1TNIT2+BFNSQ2Cne5bYvRXPxvqFThDkkkrWvL2DWbh4K8wN3yTnm1tSWidpuYlXsiHU JMTrng3bBJG1I4FxdMAoxQTAnTks7vQ6kqLuaWvhWoKJrdrdtz35XRG3Z/Vy/48zYLeA D5qhCyP8YqURa8Gltiblz7xihjMUtGKM4mZVDmfEw7MjfjLMjyp7b2v/ouCEjZbs5gf7 hpEHTvcbTbs7wvtmn2JJq+XYlK7mS87XZoRw2369VrMA33qfC//SoAff0kkulL1Nh0Pl +Bew== X-Gm-Message-State: AC+VfDwIJjOwQqLuAjpZOeKyrrW9EeotOwmoozSRPyvxE0AJ85kQuFdq 5KT/l9bxpxeQcm66MtlZL6s= X-Google-Smtp-Source: ACHHUZ4rEtwsIJS0u8/qiBl+7RQztIv/50rVsQeASCwgplg4IOIGaQtPyW+cRDHUBMrIJvgIE2xULQ== X-Received: by 2002:a81:4e4b:0:b0:569:e92f:72a with SMTP id c72-20020a814e4b000000b00569e92f072amr14103246ywb.16.1686603912361; Mon, 12 Jun 2023 14:05:12 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:11 -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)" Subject: [PATCH v4 13/34] mm: Create ptdesc equivalents for pgtable_{pte,pmd}_page_{ctor,dtor} Date: Mon, 12 Jun 2023 14:04:02 -0700 Message-Id: <20230612210423.18611-14-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 4A4E914001B X-Stat-Signature: xw6t9gof6i1gfkrwj88mywucosjd7yrx X-Rspam-User: X-HE-Tag: 1686603913-847302 X-HE-Meta: U2FsdGVkX1/jlqWzS5ZF2wKtuMpMfxLOSDANI0bafO01gZXFm780Gjq0IdZCmC/MFgmSqn7S07nKCwCxztOdME0sfIYfGP0rjHDfI2Sm6Q8T1lNeOlGRUXWFGGAQcNnyyoN3woqPmz8TAKHn9+0pHXyiwn2gkUOIS1mNVIi7FNoaD6KEUPXEKFrm4C4/4CB6HSBjt/Nx5PuOiSt44W5TUpUcQM7gnm+dxrBiBkqFs2SBr0iTpR6buMPzKRMWeY9DEaWtf4y0zJtRQhKj/EvXq8qPXOqGDToG964er+a6MBgwnZ85voWALjqDC8I+oLAPismaJRZOjQMvXfTRLMyZyMewEh7LHwq5B+d+Oy3u9xZQI8oiuzI2jZnr35DtGxjD/WQhALcI6kOupN1KKvclt5/piLk2/Fi+NAsLa/e8yRgtDPbqgmMV9LAGywjObhzcCt0JE+rXD9yTDOTB5wCkTMaMo7F/KqubAEFRozuqCVvFTKXjrm24A5siI/H7nbDQV9t//rWWgtgTVEH8p7D/KCajCK23Maw+6k5TSvlxSjcYkEtcNsdfkssQ/96CQKdsHMsQG9WUbTkv9Vim17yPb3kEsAk4Wyh4b9f8XIBRoWuY3UlIdWorWI633WuhKs3glq2moUDPpe/85pNrQpgYdP+oIbQpjPN2U1Bmx6m5qEmNEe6pXQbmYsaMDRUWXWWWOb/svJz0j3ZyeA7UbGDVLOrMJAN7kJGPhcr4e78K+wfTmaontM6TfQyNytoD/IYvzqAqvZ4t1KsNzDMmNaaKLlmGiOGmdu7yruY50A0jfPGG8l49P6CWmUvykvtK2TIXxgvTw+nirBOYp59v1ikveiK4R/DOqNcG0f+EfBsdMawNDADc5/thjd0pbcIfnkoxscgXnwx4giVPE9Cncig+rCxNyKmz/Y6zwqnjVdvbIPXTcNlgyrjgkRv0gwX2bN95ZE5R6G2rTbB+o7JuDPJ mcyqqWei 6oP0p2bjfypm2a7e6Bi5A52xyQAYoIJmZYAgMcZDnwV/eE6uJTa8VQyH/act6tTZDyHybFHGwQ/ZsT8YMI3G0x327zDb+SCg+YMtiORkTMO69qxSJAsztLxORkSBObpjAHgjMaIRUoT83Ogkrj8LOo2a0+9fJJPlzx8bcwv/pjF1j8PHuLV8BuGyL5xuiuKH7DPriAOBf8pJN0OnNmX4Wty52w2BCtJgzaPbSrNKOxkOm5ZE9nmz6onbUYmyBw1ODhtKDwkHSoR/CrKnxZoXiIuYLkh6nIrY2ESB342GTYH3A6duC66QaJwHL927qCMNQuVU6JC/4uQlsOVlmcxDQhWyCf6C/Q0bqx4gZZPMmL6uwDFgADLZmLVH4kl+PIZ+4/kyWnjPmkc2koAmytQlyM6GOSV9tOgkU41uWXB3Xd3bMx4+Keb5f4mgo0v3g79PNYkHm3+mpjInrXwuv5kyPuKTcMXmPUdWEKlJuN7xIuKlwDnV4ySqw7JH2m8bbQmyRtUDSomzlqmkyV2Q8BN90eR8dIj09sPl5RA+tCsneMuMhPKGkqaslIX6BroRzztJAxVUmTWJU/1J/RWk= 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: Creates pagetable_pte_ctor(), pagetable_pmd_ctor(), pagetable_pte_dtor(), and pagetable_pmd_dtor() and make the original pgtable constructor/destructors wrappers. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- include/linux/mm.h | 56 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 42 insertions(+), 14 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index a1af7983e1bd..dc211c43610b 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2886,20 +2886,34 @@ static inline bool ptlock_init(struct ptdesc *ptdesc) { return true; } static inline void ptlock_free(struct ptdesc *ptdesc) {} #endif /* USE_SPLIT_PTE_PTLOCKS */ -static inline bool pgtable_pte_page_ctor(struct page *page) +static inline bool pagetable_pte_ctor(struct ptdesc *ptdesc) { - if (!ptlock_init(page_ptdesc(page))) + struct folio *folio = ptdesc_folio(ptdesc); + + if (!ptlock_init(ptdesc)) return false; - __SetPageTable(page); - inc_lruvec_page_state(page, NR_PAGETABLE); + __folio_set_table(folio); + lruvec_stat_add_folio(folio, NR_PAGETABLE); return true; } +static inline bool pgtable_pte_page_ctor(struct page *page) +{ + return pagetable_pte_ctor(page_ptdesc(page)); +} + +static inline void pagetable_pte_dtor(struct ptdesc *ptdesc) +{ + struct folio *folio = ptdesc_folio(ptdesc); + + ptlock_free(ptdesc); + __folio_clear_table(folio); + lruvec_stat_sub_folio(folio, NR_PAGETABLE); +} + static inline void pgtable_pte_page_dtor(struct page *page) { - ptlock_free(page_ptdesc(page)); - __ClearPageTable(page); - dec_lruvec_page_state(page, NR_PAGETABLE); + pagetable_pte_dtor(page_ptdesc(page)); } #define pte_offset_map_lock(mm, pmd, address, ptlp) \ @@ -2981,20 +2995,34 @@ static inline spinlock_t *pmd_lock(struct mm_struct *mm, pmd_t *pmd) return ptl; } -static inline bool pgtable_pmd_page_ctor(struct page *page) +static inline bool pagetable_pmd_ctor(struct ptdesc *ptdesc) { - if (!pmd_ptlock_init(page_ptdesc(page))) + struct folio *folio = ptdesc_folio(ptdesc); + + if (!pmd_ptlock_init(ptdesc)) return false; - __SetPageTable(page); - inc_lruvec_page_state(page, NR_PAGETABLE); + __folio_set_table(folio); + lruvec_stat_add_folio(folio, NR_PAGETABLE); return true; } +static inline bool pgtable_pmd_page_ctor(struct page *page) +{ + return pagetable_pmd_ctor(page_ptdesc(page)); +} + +static inline void pagetable_pmd_dtor(struct ptdesc *ptdesc) +{ + struct folio *folio = ptdesc_folio(ptdesc); + + pmd_ptlock_free(ptdesc); + __folio_clear_table(folio); + lruvec_stat_sub_folio(folio, NR_PAGETABLE); +} + static inline void pgtable_pmd_page_dtor(struct page *page) { - pmd_ptlock_free(page_ptdesc(page)); - __ClearPageTable(page); - dec_lruvec_page_state(page, NR_PAGETABLE); + pagetable_pmd_dtor(page_ptdesc(page)); } /* From patchwork Mon Jun 12 21:04:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277358 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 6E53AC88CBA for ; Mon, 12 Jun 2023 21:05:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D4382940017; Mon, 12 Jun 2023 17:05:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C551A94000B; Mon, 12 Jun 2023 17:05:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ACF35940017; Mon, 12 Jun 2023 17:05:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9AAA894000B for ; Mon, 12 Jun 2023 17:05:17 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 6BFA51A033B for ; Mon, 12 Jun 2023 21:05:17 +0000 (UTC) X-FDA: 80895326274.22.4D224ED Received: from mail-yw1-f176.google.com (mail-yw1-f176.google.com [209.85.128.176]) by imf20.hostedemail.com (Postfix) with ESMTP id 6F4191C001B for ; Mon, 12 Jun 2023 21:05:15 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=BMMTeVLi; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf20.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.176 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=1686603915; 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=+FIbG7hZZYadBjxNE3W8iUcLLESpTErkJHs37ORZhp8=; b=0EIYPbSECgYrw2OSVwvc7GDgnbNu5vnq3hoB7cRFjdGS7n2G2o2b7/noMsTWAJiMHOKG+h Hvxpu5urIBxCxdzyJffRGMUR3UnaFv1dshv6q5fxYN7wJMseSgyqTtIUoPBzLrcnU89Ybz PQaeN/seDgr6+cj9f0nRzdCQUHsjqj4= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=BMMTeVLi; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf20.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.176 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603915; a=rsa-sha256; cv=none; b=DZXXBe9gD1D+Nqn6XaX3p02ep83PJFBsQfx+pVmSpaxQvNW1r2CGEBWYwxciI4PFuK1Msp 4b2JCKhFKucKYHZRJX3ePL6BdpUFnkTecLcaA6MIkRf47raUjfILjsw8Hn8dbRXM+I6MVa HjlHbQ1gpZbSAbT3XY3+TU4Am4CIKhc= Received: by mail-yw1-f176.google.com with SMTP id 00721157ae682-56d304ef801so13957467b3.0 for ; Mon, 12 Jun 2023 14:05:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603914; x=1689195914; 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=+FIbG7hZZYadBjxNE3W8iUcLLESpTErkJHs37ORZhp8=; b=BMMTeVLiiLARHio/XE+I+jCCeZoZ/97PeMj84XvLWmMUbB9BdVCUvYIh2Us5nXhEm+ GaSZgpWEka3eZpV6QF9Ku5suybhjbTiNh30wb18mf5p0dFW0PZnCu02ldx/3kc8oSeaP hgkMZXUdVJaPYGHQpXtn3m8hqql89twVyrxmE12C9NmDu/gHq6ZxnWDz8at6uc4XM4uq jVgNP7Ttfo26QgXC06Wfp89Jm/XIZvIR1V8k58aaM2NCapiWRWOfK01T68EA7hRajFaH oJy6HK1lOn1lYlC9chHC+ep/FXR5v1W1mqYIJQPpykFbYWE7681/f5WmSIHHhv6wsGKo YetA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603914; x=1689195914; 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=+FIbG7hZZYadBjxNE3W8iUcLLESpTErkJHs37ORZhp8=; b=ixdMtYwtacEcl5YZz+1lhatSQDVJsoDmT2oOVx/TXBW3jfffoMrB7WfOMhlyDnxE79 unw9whYmOL2l92Xyd+Z69nPpgpaz7BLWTOm7CLKuzt69p7F0J8UoI8suPmpN3yvfnwxy U4TSs7wZ+NXLMVj+YXjlfxrG7sU1ASWr2i18sOhiShahpGX1H5ba3WKBdDf0DKT/EIqz 8dcj0i00yMaN58eSNxA9rLn84k1yjyMfK39coTF4i3aNtS+qBZbEVKI/b4rc4EboPK3J YWrckWeRAWcBcZ35F+63Neo48VexMA0pCn/diQb0IySZCHqIsknwvaJYp/hc3z9/k081 ejMA== X-Gm-Message-State: AC+VfDwgMXhMv8cPZBoU0kzbxH3lffUMmSXHkGSqTi45vclDKjxTGHQo 4zwjm15IyR2rkliKwluFbJo= X-Google-Smtp-Source: ACHHUZ4XoQ/hY/ZwMXh2mexBZV3rZaOJ0y9b6ri+pUfVP98Mdhfd/kVsDzGgS7EyjMgcF/onsjMNTw== X-Received: by 2002:a0d:ca8c:0:b0:56d:28b:8042 with SMTP id m134-20020a0dca8c000000b0056d028b8042mr7057809ywd.40.1686603914513; Mon, 12 Jun 2023 14:05:14 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:14 -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)" , Christophe Leroy Subject: [PATCH v4 14/34] powerpc: Convert various functions to use ptdescs Date: Mon, 12 Jun 2023 14:04:03 -0700 Message-Id: <20230612210423.18611-15-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 6F4191C001B X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: p8ifdbaabr6fx891sgmyy4r777m3ut7g X-HE-Tag: 1686603915-237819 X-HE-Meta: U2FsdGVkX1/jUvs+XmSkC4pEDdyXv6C16lOno85iEOfNanRtzsNZIYYUdQ2fRXGn5prS7eLzr6Ka79G/BKkPHXBe3YbVAm8jLcuZzWs4wEtRmrv/LlueP8vmtTeDBaVAXW9P/AOpPEZFcKdaPGReUkU/vJK58WdIeyA0tnUu/ZMYcJs7e5YfQHMYPxlBcPgtNdwgkYel7H6ceQJFHjJesQ366fZwRDFHct/UhhxIPkGzu3tHqDPeIUMfICAynHTmW77ZrEzkqCln0S/pGaJaejS8Uu3xFd7R9c4eBKwbszJxD/mC5zSS5yjCZLqhlTio0WNGAS1v5tSG+XzFKrpHMYx3isiue2le3w6MClg9onU9Jssv8vxUUcgjYawWIKHKfyzVWuSuvV3JI+PSzU2hSax3Jy7HZP99tSRZCK/OuAoLeKxFj+HDtIAkEv97O4PJ9C/k/eg4ba+lWhkSfEFVOKnmTrv1xaRJTeXkQM/Ysb5Lxdl/haLFgSTSYI2UsATc+wHVRYscNH7ThAjBYXEZiuyIcoI8UQ8cUkbUqhuhedChJtx6o/bwvmYHY+kZvexgCNq/HFdgMSmxmkzn4OdVIKgm1QGd6bi73HZvzsUdSCSZLPRirvGSGqmX+cKeoniBsfMHFJsmBlK56iwLEduz3tQlexU+SUDtiHZu/TV+/+eDVFi8pi5LtmYAgufmhEJMbkAZO/FTQB9du89FmhBVWuqArzGDHtafGhWWGvLI6k+zwqMF0GyXxwv1uv6edY99uZUtCG40ixIff+8fgaSL9c6mE2N1gyaT36cAl7t3+PwX8tpbYO0x2qKrG0Cp8MtpCaOieYM2cIsQnfCYErxagGs9JxS35j6IaCOJtWEYSDGeTFR5k70Wza+Mr15pZVYHYVWeXge/LvuuPUQAqC9REuZRDsWYOpvWVCMfnOKdzjCOZqA7GXTpFPOgYX4ORdlAXsto75OwzJTZJrmQ1s2 r45Od+zh oiDFjRJHzI3Z/iKEoFDslzRdN9dSrNf2NOjIF+0apuT3HghC6kyaoNtcPQqUL4g7T1Qk7o/q/XntVq33tCBVsNs4MfMlq5OvTDadeqaSrhkE8GOi67k/e258G5N5Hu/n2QGtRuP4/XyrDtNFUfMjX0xkmHwFN1GREoG1TUW7xzFlpSuNCSvXHl9ssE1YAwS7ANkLZWyC03qs23ia1XFVfOuJjpIycy4y03dS4757Z8tnR+yPAHElo2ZSPlNk2mPKJ6h5hRsJljOp3RZ7psMOiUfASxmEKVoaIeyhf63SfS+x/C6nQYRQFrHatEKkl91bsUNj1yLOtP1ONrBdQRqMrP88wPQNoF0YR38pSXteCCqb8UYJQw5To6bvaA931BYHtBOULWe0zzkMdXL+xnp2PURCJM3bExLj2LKm1+71HKQfT36rtfIaAassCU/LNHsaYNoi/ozolhnr5kWpZVFtp9bLW2Ql7Mv49DbQNrnklk9BaZxvIcArFaTYO8h2W0i90+mM5Hsp9P16B4FJ5Yy+3glViBQ== 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: In order to split struct ptdesc from struct page, convert various functions to use ptdescs. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- arch/powerpc/mm/book3s64/mmu_context.c | 10 +++--- arch/powerpc/mm/book3s64/pgtable.c | 32 +++++++++--------- arch/powerpc/mm/pgtable-frag.c | 46 +++++++++++++------------- 3 files changed, 44 insertions(+), 44 deletions(-) diff --git a/arch/powerpc/mm/book3s64/mmu_context.c b/arch/powerpc/mm/book3s64/mmu_context.c index c766e4c26e42..1715b07c630c 100644 --- a/arch/powerpc/mm/book3s64/mmu_context.c +++ b/arch/powerpc/mm/book3s64/mmu_context.c @@ -246,15 +246,15 @@ static void destroy_contexts(mm_context_t *ctx) static void pmd_frag_destroy(void *pmd_frag) { int count; - struct page *page; + struct ptdesc *ptdesc; - page = virt_to_page(pmd_frag); + ptdesc = virt_to_ptdesc(pmd_frag); /* drop all the pending references */ count = ((unsigned long)pmd_frag & ~PAGE_MASK) >> PMD_FRAG_SIZE_SHIFT; /* We allow PTE_FRAG_NR fragments from a PTE page */ - if (atomic_sub_and_test(PMD_FRAG_NR - count, &page->pt_frag_refcount)) { - pgtable_pmd_page_dtor(page); - __free_page(page); + if (atomic_sub_and_test(PMD_FRAG_NR - count, &ptdesc->pt_frag_refcount)) { + pagetable_pmd_dtor(ptdesc); + pagetable_free(ptdesc); } } diff --git a/arch/powerpc/mm/book3s64/pgtable.c b/arch/powerpc/mm/book3s64/pgtable.c index 85c84e89e3ea..1212deeabe15 100644 --- a/arch/powerpc/mm/book3s64/pgtable.c +++ b/arch/powerpc/mm/book3s64/pgtable.c @@ -306,22 +306,22 @@ static pmd_t *get_pmd_from_cache(struct mm_struct *mm) static pmd_t *__alloc_for_pmdcache(struct mm_struct *mm) { void *ret = NULL; - struct page *page; + struct ptdesc *ptdesc; gfp_t gfp = GFP_KERNEL_ACCOUNT | __GFP_ZERO; if (mm == &init_mm) gfp &= ~__GFP_ACCOUNT; - page = alloc_page(gfp); - if (!page) + ptdesc = pagetable_alloc(gfp, 0); + if (!ptdesc) return NULL; - if (!pgtable_pmd_page_ctor(page)) { - __free_pages(page, 0); + if (!pagetable_pmd_ctor(ptdesc)) { + pagetable_free(ptdesc); return NULL; } - atomic_set(&page->pt_frag_refcount, 1); + atomic_set(&ptdesc->pt_frag_refcount, 1); - ret = page_address(page); + ret = ptdesc_address(ptdesc); /* * if we support only one fragment just return the * allocated page. @@ -331,12 +331,12 @@ static pmd_t *__alloc_for_pmdcache(struct mm_struct *mm) spin_lock(&mm->page_table_lock); /* - * If we find pgtable_page set, we return + * If we find ptdesc_page set, we return * the allocated page with single fragment * count. */ if (likely(!mm->context.pmd_frag)) { - atomic_set(&page->pt_frag_refcount, PMD_FRAG_NR); + atomic_set(&ptdesc->pt_frag_refcount, PMD_FRAG_NR); mm->context.pmd_frag = ret + PMD_FRAG_SIZE; } spin_unlock(&mm->page_table_lock); @@ -357,15 +357,15 @@ pmd_t *pmd_fragment_alloc(struct mm_struct *mm, unsigned long vmaddr) void pmd_fragment_free(unsigned long *pmd) { - struct page *page = virt_to_page(pmd); + struct ptdesc *ptdesc = virt_to_ptdesc(pmd); - if (PageReserved(page)) - return free_reserved_page(page); + if (pagetable_is_reserved(ptdesc)) + return free_reserved_ptdesc(ptdesc); - BUG_ON(atomic_read(&page->pt_frag_refcount) <= 0); - if (atomic_dec_and_test(&page->pt_frag_refcount)) { - pgtable_pmd_page_dtor(page); - __free_page(page); + BUG_ON(atomic_read(&ptdesc->pt_frag_refcount) <= 0); + if (atomic_dec_and_test(&ptdesc->pt_frag_refcount)) { + pagetable_pmd_dtor(ptdesc); + pagetable_free(ptdesc); } } diff --git a/arch/powerpc/mm/pgtable-frag.c b/arch/powerpc/mm/pgtable-frag.c index 20652daa1d7e..8961f1540209 100644 --- a/arch/powerpc/mm/pgtable-frag.c +++ b/arch/powerpc/mm/pgtable-frag.c @@ -18,15 +18,15 @@ void pte_frag_destroy(void *pte_frag) { int count; - struct page *page; + struct ptdesc *ptdesc; - page = virt_to_page(pte_frag); + ptdesc = virt_to_ptdesc(pte_frag); /* drop all the pending references */ count = ((unsigned long)pte_frag & ~PAGE_MASK) >> PTE_FRAG_SIZE_SHIFT; /* We allow PTE_FRAG_NR fragments from a PTE page */ - if (atomic_sub_and_test(PTE_FRAG_NR - count, &page->pt_frag_refcount)) { - pgtable_pte_page_dtor(page); - __free_page(page); + if (atomic_sub_and_test(PTE_FRAG_NR - count, &ptdesc->pt_frag_refcount)) { + pagetable_pte_dtor(ptdesc); + pagetable_free(ptdesc); } } @@ -55,25 +55,25 @@ static pte_t *get_pte_from_cache(struct mm_struct *mm) static pte_t *__alloc_for_ptecache(struct mm_struct *mm, int kernel) { void *ret = NULL; - struct page *page; + struct ptdesc *ptdesc; if (!kernel) { - page = alloc_page(PGALLOC_GFP | __GFP_ACCOUNT); - if (!page) + ptdesc = pagetable_alloc(PGALLOC_GFP | __GFP_ACCOUNT, 0); + if (!ptdesc) return NULL; - if (!pgtable_pte_page_ctor(page)) { - __free_page(page); + if (!pagetable_pte_ctor(ptdesc)) { + pagetable_free(ptdesc); return NULL; } } else { - page = alloc_page(PGALLOC_GFP); - if (!page) + ptdesc = pagetable_alloc(PGALLOC_GFP, 0); + if (!ptdesc) return NULL; } - atomic_set(&page->pt_frag_refcount, 1); + atomic_set(&ptdesc->pt_frag_refcount, 1); - ret = page_address(page); + ret = ptdesc_address(ptdesc); /* * if we support only one fragment just return the * allocated page. @@ -82,12 +82,12 @@ static pte_t *__alloc_for_ptecache(struct mm_struct *mm, int kernel) return ret; spin_lock(&mm->page_table_lock); /* - * If we find pgtable_page set, we return + * If we find ptdesc_page set, we return * the allocated page with single fragment * count. */ if (likely(!pte_frag_get(&mm->context))) { - atomic_set(&page->pt_frag_refcount, PTE_FRAG_NR); + atomic_set(&ptdesc->pt_frag_refcount, PTE_FRAG_NR); pte_frag_set(&mm->context, ret + PTE_FRAG_SIZE); } spin_unlock(&mm->page_table_lock); @@ -108,15 +108,15 @@ pte_t *pte_fragment_alloc(struct mm_struct *mm, int kernel) void pte_fragment_free(unsigned long *table, int kernel) { - struct page *page = virt_to_page(table); + struct ptdesc *ptdesc = virt_to_ptdesc(table); - if (PageReserved(page)) - return free_reserved_page(page); + if (pagetable_is_reserved(ptdesc)) + return free_reserved_ptdesc(ptdesc); - BUG_ON(atomic_read(&page->pt_frag_refcount) <= 0); - if (atomic_dec_and_test(&page->pt_frag_refcount)) { + BUG_ON(atomic_read(&ptdesc->pt_frag_refcount) <= 0); + if (atomic_dec_and_test(&ptdesc->pt_frag_refcount)) { if (!kernel) - pgtable_pte_page_dtor(page); - __free_page(page); + pagetable_pte_dtor(ptdesc); + pagetable_free(ptdesc); } } From patchwork Mon Jun 12 21:04:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277359 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 90FDFC88CBD for ; Mon, 12 Jun 2023 21:05:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B94A8940018; Mon, 12 Jun 2023 17:05:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AF66C94000B; Mon, 12 Jun 2023 17:05:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9C058940018; Mon, 12 Jun 2023 17:05:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 8CCB794000B for ; Mon, 12 Jun 2023 17:05:19 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 5638F1A034A for ; Mon, 12 Jun 2023 21:05:19 +0000 (UTC) X-FDA: 80895326358.02.DD602A4 Received: from mail-oa1-f44.google.com (mail-oa1-f44.google.com [209.85.160.44]) by imf03.hostedemail.com (Postfix) with ESMTP id 68B5C2000B for ; Mon, 12 Jun 2023 21:05:17 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=qq8ATz7q; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf03.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.160.44 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=1686603917; 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=zgKyM3Bqye8XIR4cGys6T5IvKp0/wF3iTsg1PUDsTwk=; b=W7fZi3oe6Kn7mAYikoePH3T2kfbEj8KSAw2n5GgzeiMj535IZD9W36XaEuL31+8qTkbP1d 4MyWQrT/JdbL2u2sV6NN2W8ViprU7UZhqaXtr4mSIFNi3/q6XhB31NykJlj+g3eOfJyh3x 37/oN10irqTKcpTWrl9F0UhugLKwr9Q= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=qq8ATz7q; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf03.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.160.44 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603917; a=rsa-sha256; cv=none; b=f9FmNpgFPkRlPJqTt7Gp6Kk5dmzT0M4TIbbFtsABRhLtjwrlK+iA3V1aM78pMhAQ9soXK2 BiptDn2weABXVBA3GfWY0kt6koP1uVBsK5LRFeXBkb2bu5SkET3evwX2o+C+fx8pNtEWM8 HKtKNCjVcQYYnmMgijItVLmZf5yCu9M= Received: by mail-oa1-f44.google.com with SMTP id 586e51a60fabf-1a685c2997dso1341702fac.3 for ; Mon, 12 Jun 2023 14:05:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603916; x=1689195916; 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=zgKyM3Bqye8XIR4cGys6T5IvKp0/wF3iTsg1PUDsTwk=; b=qq8ATz7qnjhMI4JQRRPl8nQkZZESoSMSYaIpvAm1fkmTP/hhJtK09QthkQIszdY2en Np28aEy4Ap8kQZZkxOILcAkOWFCvtD0mksimPr07l40BlBsZAEhYxeqfdjyxkQeqAOW5 ZTc2r2EYyhW+/Rjr+ix4rQnVYpkl/uEhOS/VFy3JybVwLZGjn5WR2cf2gk8obwo2CXkB sGSrhNlSnOkEM+3mRCKt35MlveZfVuGQGd2P1arrL9+IybQt5wlSdODKjPEGV1dnmgeN o5s8QyWZIU5taEap5wETL65HSHBQ11HVjiPK1AO1Q4tVycf+rnHrB5djM+QoDLh7ynuT 05uQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603916; x=1689195916; 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=zgKyM3Bqye8XIR4cGys6T5IvKp0/wF3iTsg1PUDsTwk=; b=U5TlaxmZFRHBBMSAeSiGhJhF3M3eZQdsjvEDV5vsWfqsA2pEU2To/nYoKWXD3GeiHJ Q4mimyUTaZ10aEPe1Z2L4w4OmHSKgHxyXLUvW8jEPkl2M3xBRS2FNMmgAc5yaguLCGgY H7C6Bskfz4VphEcQsaAO15Hm9hp2ePYU8pSr5z4KiTVMaDDzuyDWtEOcZlEzXvNsDGWH XaA6i3+30ebFtzI+H8kAuz71XOQPQkoE3VnQaVa6NvNelPi0qefFQERgiCQ9Hc9s+mha X9Fbtq+y4MTsUCjdngn037Jy44zqk/SyAiLyYOiC/LIR4VSzstw9Sdrw4Mwjs6gVOx3a 4RTw== X-Gm-Message-State: AC+VfDzp3J7dwSTuhaoPqOWnHZ+ITQ81z55l/6FIwjkC0vxqCF95KMeK 6FJ6PFzy2/rWvWNpkC5q5ic= X-Google-Smtp-Source: ACHHUZ6OvrV5xnmsTMrRhILOepKGCGWLH/CFbB0N6d+Jj1gXGdTSLJ6+yTuiQ99sICG0ABshC/lJaQ== X-Received: by 2002:a05:6870:955c:b0:1a6:a89b:d8fa with SMTP id v28-20020a056870955c00b001a6a89bd8famr1204093oal.22.1686603916460; Mon, 12 Jun 2023 14:05:16 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:16 -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)" , Dave Hansen Subject: [PATCH v4 15/34] x86: Convert various functions to use ptdescs Date: Mon, 12 Jun 2023 14:04:04 -0700 Message-Id: <20230612210423.18611-16-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 68B5C2000B X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: 818anxg6dbj1piw6gcifxx4bikzhpjt9 X-HE-Tag: 1686603917-898620 X-HE-Meta: U2FsdGVkX18+5n5Uovl0iPQFUeWK9edUUiDpRwHpW6IoRpseoswtYtm0/f9XhnWfv3UtxPp/jzCgEgj/NcfjsRFz5rYPIr9lzqVTBf1YEiy8MZZnxwkwyWuVIOaUUQrwHAiaVPjgVyhmg3jENJvO8os5bg2lGhRKkHxWwZODdYMQkmdFmu4lUWSffmMilFEYN2G0ZUbU+n2NrwUXG1Sk/96clcstTC5lnf01WBRkje/CzyN0q8xvRlGaBERGUCN8JcU+nd2mKWvXdk5iibyN2B/FU6PAKPe6MVMCkjmUAB83/g3bji3ZOLYoMLMkkAL9emmU5oQTYXRO0RrxiCnoPO5/SaKMW/lc7w6Jlx4sfzZ34A503O3tMqotpPgWSBJ2DpqagaxKsLvv4J5soGga0t/jNmcX+DfiPyO1tb4WA2oFeyFHVvW3/Vu60Xu5PgEW+5C+lsbKmEQ7cSmIzAQy3ayumjeCQEtMtzHpCG1FCoRvto8VnSx7SVAKlKZJn1gzHV1qxl5Oy5OFr1gL9IxbIVkNe2UUM1RnSzIe4eIoDGFWKBeoPKDZA4vm5rqG58EV37+F0BmDBtwEsCh/epRAxb71ldnkfAZ8eefhL2kI0IoOxx1+ldxs2z0C+LAVzxNAbUZ5zdaqtbSe7+ynh+QObrokzUdwQ5K2WL7GHLOP9J49dmpBYPY4nmhrMZzTaSO8mYXiB/C630NCf5HmcGB/D5uBWlbM8pSz/a/MzHiNyB1uydwYjpZQg44cf7bSM7oi2afIhs6SdPFYs+URYhBSHyR1UO36TP7qYNeAi0M6HZz5SsKAo614EJ51sECCadbXKa3TpHQ5DKMsOjfSDdopxj6TX8PZDbfCb/wOHMU4OqfQS9hw53OChGAv9W81xo4MlesKbU6wXhfKWHuDgTtM8N8WlIgiEHAWrvAOrNJu22AT85wMiTZh8mLkxQHmUW+OTuK4QSfmu0lLaP0ot1m Cs6j/WGw oT6Ox8pNAeaVIydT89cIeqGoOaG8c0BSK0Q2MfkbdoGxQhbvs7M9VtefDH4zEpQfvbJ4u7jklr90owFxZx7g6KbxSoQELLf76cd+kkqvb0l5hov3JSRpItei6cb57ffmD4fAsfRFdMWGL6yjup4VeLWtx7Lputm65A0R/KQNNfHX/1XCPOzQutxmZrouVd1htcvRWKJ0RVRD3OmFxEmueg5ezezNQ7hmxLBh9fLp6Ks/KhsTU7zMi0zmz1KhCU37xv8rjpPOSHbQ/8vfsoF45a0FLQqeD5g2k1LuaAvBENKRRS7ZEewZLiD68sesogeeQwGpgaiCRRNHvkPMb+r+PIob1BrVy6T6VGDi7xztAnCSXzJWNudRUouWl9CaENDKpIGcLVfu7z2i0f7VX4NtZlPWx7EU2IsogLTN/VIalFhX/Xe8BdhvEY4LAVl1pXiyhqM/bnxYyeGY+AhxSHojY/SMk9AJgKyvEwsb/yMvAlg+GFe29083pJU4ojDTTKO9u58sbxJ6oCBFcI3KEkh3VCrLf9Q== 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: In order to split struct ptdesc from struct page, convert various 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) --- arch/x86/mm/pgtable.c | 46 +++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c index 15a8009a4480..6da7fd5d4782 100644 --- a/arch/x86/mm/pgtable.c +++ b/arch/x86/mm/pgtable.c @@ -52,7 +52,7 @@ early_param("userpte", setup_userpte); void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte) { - pgtable_pte_page_dtor(pte); + pagetable_pte_dtor(page_ptdesc(pte)); paravirt_release_pte(page_to_pfn(pte)); paravirt_tlb_remove_table(tlb, pte); } @@ -60,7 +60,7 @@ void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte) #if CONFIG_PGTABLE_LEVELS > 2 void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd) { - struct page *page = virt_to_page(pmd); + struct ptdesc *ptdesc = virt_to_ptdesc(pmd); paravirt_release_pmd(__pa(pmd) >> PAGE_SHIFT); /* * NOTE! For PAE, any changes to the top page-directory-pointer-table @@ -69,8 +69,8 @@ void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd) #ifdef CONFIG_X86_PAE tlb->need_flush_all = 1; #endif - pgtable_pmd_page_dtor(page); - paravirt_tlb_remove_table(tlb, page); + pagetable_pmd_dtor(ptdesc); + paravirt_tlb_remove_table(tlb, ptdesc_page(ptdesc)); } #if CONFIG_PGTABLE_LEVELS > 3 @@ -92,16 +92,16 @@ void ___p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d) static inline void pgd_list_add(pgd_t *pgd) { - struct page *page = virt_to_page(pgd); + struct ptdesc *ptdesc = virt_to_ptdesc(pgd); - list_add(&page->lru, &pgd_list); + list_add(&ptdesc->pt_list, &pgd_list); } static inline void pgd_list_del(pgd_t *pgd) { - struct page *page = virt_to_page(pgd); + struct ptdesc *ptdesc = virt_to_ptdesc(pgd); - list_del(&page->lru); + list_del(&ptdesc->pt_list); } #define UNSHARED_PTRS_PER_PGD \ @@ -112,12 +112,12 @@ static inline void pgd_list_del(pgd_t *pgd) static void pgd_set_mm(pgd_t *pgd, struct mm_struct *mm) { - virt_to_page(pgd)->pt_mm = mm; + virt_to_ptdesc(pgd)->pt_mm = mm; } struct mm_struct *pgd_page_get_mm(struct page *page) { - return page->pt_mm; + return page_ptdesc(page)->pt_mm; } static void pgd_ctor(struct mm_struct *mm, pgd_t *pgd) @@ -213,11 +213,14 @@ void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd) static void free_pmds(struct mm_struct *mm, pmd_t *pmds[], int count) { int i; + struct ptdesc *ptdesc; for (i = 0; i < count; i++) if (pmds[i]) { - pgtable_pmd_page_dtor(virt_to_page(pmds[i])); - free_page((unsigned long)pmds[i]); + ptdesc = virt_to_ptdesc(pmds[i]); + + pagetable_pmd_dtor(ptdesc); + pagetable_free(ptdesc); mm_dec_nr_pmds(mm); } } @@ -232,16 +235,21 @@ static int preallocate_pmds(struct mm_struct *mm, pmd_t *pmds[], int count) gfp &= ~__GFP_ACCOUNT; for (i = 0; i < count; i++) { - pmd_t *pmd = (pmd_t *)__get_free_page(gfp); - if (!pmd) + pmd_t *pmd = NULL; + struct ptdesc *ptdesc = pagetable_alloc(gfp, 0); + + if (!ptdesc) failed = true; - if (pmd && !pgtable_pmd_page_ctor(virt_to_page(pmd))) { - free_page((unsigned long)pmd); - pmd = NULL; + if (ptdesc && !pagetable_pmd_ctor(ptdesc)) { + pagetable_free(ptdesc); + ptdesc = NULL; failed = true; } - if (pmd) + if (ptdesc) { mm_inc_nr_pmds(mm); + pmd = ptdesc_address(ptdesc); + } + pmds[i] = pmd; } @@ -830,7 +838,7 @@ int pud_free_pmd_page(pud_t *pud, unsigned long addr) free_page((unsigned long)pmd_sv); - pgtable_pmd_page_dtor(virt_to_page(pmd)); + pagetable_pmd_dtor(virt_to_ptdesc(pmd)); free_page((unsigned long)pmd); return 1; From patchwork Mon Jun 12 21:04:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277360 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 BCD25C7EE2F for ; Mon, 12 Jun 2023 21:05:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 26CFF940019; Mon, 12 Jun 2023 17:05:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 21CBD94000B; Mon, 12 Jun 2023 17:05:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E9FEB940019; Mon, 12 Jun 2023 17:05:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id DA4B194000B for ; Mon, 12 Jun 2023 17:05:21 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 9147C1C7B71 for ; Mon, 12 Jun 2023 21:05:21 +0000 (UTC) X-FDA: 80895326442.06.E6E7710 Received: from mail-yw1-f174.google.com (mail-yw1-f174.google.com [209.85.128.174]) by imf24.hostedemail.com (Postfix) with ESMTP id B5F88180004 for ; Mon, 12 Jun 2023 21:05:19 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=himkDY3B; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.174 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=1686603919; 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=2hmT3cFhGadOVawWrEtUkNd5SWK58SDjV2Pgih+1szI=; b=YwoQrrFYVZvtZ5jrJm0QDEph1AEbGzLqpjrhISiFKRIBnFghtQPtNK5Qk7RAgOjkJN1Bn2 gTPkjDpPLYnp/sN4rSBxJRv0UIhMPrpIxBdAvy0pxKXNlkX5fYXbO0Tzz7zSEjhT+9hOnf MnIxf56yC6KLC0nT/u6nod3PDN7daP8= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=himkDY3B; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.174 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603919; a=rsa-sha256; cv=none; b=zgkA30WjvlheIVPDh1F/L3rUsta61M/2FNa3GaYIA/b7Dx98rh6xUVPnxwk2KL4e9VdHNH HqxMffeRfOYst2wInoEFTVlSw7LZqPMEzwQG3WDnlsGaTjO3qqs3R4ltTkrgeWemJxTXIL dXRDi6Twhz4VgFNPgj7szMT1oJ5Xxik= Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-56d07c7cf03so24327317b3.1 for ; Mon, 12 Jun 2023 14:05:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603918; x=1689195918; 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=2hmT3cFhGadOVawWrEtUkNd5SWK58SDjV2Pgih+1szI=; b=himkDY3BzXcg6EA5ZG9kp9xFNvbzwlmd3ysKFlAfQ5DipAZYwap/dvB4Exim775oW0 KVPaolJYaA9K8MUUp33iFdaHvNnGIP/kzOdDCjYzAM8Rkyvjl7IZlOr/E5WTm5NlTX2u vGYELLKQHp1ar3nhteE99UxNxGGVDki1Pql2NdjYxB9YZx6tMmGKr/anHIEoVnDOFboX kZwpfDTYgkrzeSZ20Y7d10AFqPK5jio2eoVjk09bUeG+aEfJ19hcsB75a2XzK/tvqj8V tYeqh80J+jD0O5wG1FFnlyniUy6btorKlJ+sAijRwKVrZoLxLyF/7YYORkdCqcodLElQ TyPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603919; x=1689195919; 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=2hmT3cFhGadOVawWrEtUkNd5SWK58SDjV2Pgih+1szI=; b=eJdakw9dJYPmD0ImjmcCC0XQL/szAh4r6336sE8OTXvKVnMZTw89Ajkfg3rnvt4hGu l62f+TI9rO8+VxJK1Kje+nqnHBv8ntB1H0ilQG5mIxFCrqzwvP0dnQU3CtMu5DJGA07q qMEWkM8Aa5VAPNhIfAn3wspqvo4gh59JyOQ8b3/WUV6n25VcYG2FFGkOOONFVyGdJh23 /fYfyhi/WUfPCOlxLwpW/LqX2Wh8IJTjsbSDPCRTnBPUpH/m3wMQuXMKcbGhE/QzTAvQ /IzkbdzUI+9mx2Kws09rQEbMfebgqDAdP29PE5QlR64Z5RURojdN5L4JK52XtW2UBm7Y yUCw== X-Gm-Message-State: AC+VfDyEbihzjk7y9lPTc95wkdGYRoPKLPHge73BTINPL6N8IAmLCw9/ 3k+FQrSS4iut8gCxeLcVx2elnYveB83TUg== X-Google-Smtp-Source: ACHHUZ7IgyuiiP+1TnHgGEhbMytW2I08DJS0i46qW890g2TeoQfHv7HLolB9L57rfMaa7j8d9Hizsw== X-Received: by 2002:a0d:ebc4:0:b0:55a:ad11:1ba2 with SMTP id u187-20020a0debc4000000b0055aad111ba2mr11427812ywe.9.1686603918612; Mon, 12 Jun 2023 14:05:18 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:18 -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)" , David Hildenbrand , Claudio Imbrenda Subject: [PATCH v4 16/34] s390: Convert various gmap functions to use ptdescs Date: Mon, 12 Jun 2023 14:04:05 -0700 Message-Id: <20230612210423.18611-17-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: B5F88180004 X-Stat-Signature: rbn7eebiegyzf9mxbpmoxbu6h5ppgsba X-HE-Tag: 1686603919-465331 X-HE-Meta: U2FsdGVkX19kY+GPLvf4ky+PVuJQcLMcnxYgLOy2ZPJzVuYFpOf7B/eD1nmmvNe1AL6bmlpt2ZyGsRRckvPhiOat5fVodsZT3/LbpA+qH+X+dap46mmGujGexaoDeYBcX0i9qZ2WuWlaNFb2Zx+FObfyonABk4KEwGOiY00OuOj3yg88o8nWXlJ2/aaM2gmj0SoTdCFWUkGkj6KcjBZdq6veOE7CDMxluNTPt2oSLoTEeKedFdeN0U6a154Z3Cp3oLdYXXOHwTVkMPHu/iSkEy/85xYP1qNQIAnZWYZXF6BcdyEkWGYscwWcrSQOW8lr9wJyZQcVx9Vqv2qeVLRX7ZItnJojr6R28/8dvCyeQy+1i52QYS8U8cbNFO2khIYdf0F2dNdRPww8pmJGfrCeyqlRfZ4eyXny6fFKI54JheDd94kk+cxWjLRwTvWID3tgi5Q3jKGF3MrKs4XkGeUxBbGos7Or4wsjjR8p0Gg7XmDTUs2zbdocZGAU2zayphbt7wkcPGqvSaC6mvKJKF10Pir/lkwTX9GoxJKnztZhbAxg24E1at4CvlJS/bMr6HwQqhOaLCDc99/nQ3BE9A39wlwBKpjKtUasUGFs2e+5rhSVruCE96xDih+Vrwm1ueTzwcVVwoI6n8FiylC2IpuZEKBIrFKLibAa/FlG4YuwgqLAmEGNaGM9qqZVZ1D4AfF9IEup1vunroF0OdgYBiLvKWwGD1rZ7i8spwLAaN61JvbQjlXdDAkdqyc5MPelauBnvcau1SA0TrcASbqd8lmbkH1SKoa9w9Ify3NLUHW3pSouAdgveNNyPwNchcP/JLZWpSsxz8Y4R0xMv4oqDPNFTkC1Kb4NHlWSp7D/btpIa0vCn4jhCzuxZEIaVaN1X9B9RaEgZPVYeTenEIeCJ+cpy6ABZB23WFNeFEfkCDVsc0NACgqsfEVmg3R1ODazS8kwtQPpmBcmlkyOMCOSw8h GEZ00AaP VHHX8SlGcoLJPOfRzND6klU2S7UdAXB0ZnczmFO9A6x66zmk+I5UI6BGe716Jvdo97Zfoob+eeKPuYq0ZuCS3VVef6f8y9LqwEZGmZ7ii8wsjy7zOvNj1SKx7El20jZqN+zSyE6sptwv7b+/ScyT4EqJksPDkFtCGYdRsQD5U5e/vuocbZwywUe5TQZm8ITcRVOsCzooRVkwZzkNFkzqYkhanwkPY1F+7tMVTo+lgL9i6j60QDzeqzYdmdr35D00ym7vJbwcvX6RFQUQ/BA3NcbtTTH7IgBSxGNwUA4D9+c81S6AWGxepAKu8ZgAnT276wq7S0J3XZGXY6hfItdHMemshhKPlAuJYSXjLfNApXlnluSZHM4xwyByn1G+nmHaB8pwqdpeYFArQVKAVEtxvNlrNekSQU70pjXIXW8mr1RpE5vRO2jx7EJkti7NOPwPuVKs0AePEPrRr5dE23Ptjm6Vj3b8nWHdiys1MWLNNn4rPkOOOR7H2RFekcFA1VK9jFEkAtKy2YcCflFOVqM028zo9eCwZS4h4yrdnG6echMPokl9FwNb4oLH2mw== 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: In order to split struct ptdesc from struct page, convert various 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: Mike Rapoport (IBM) --- arch/s390/mm/gmap.c | 230 ++++++++++++++++++++++++-------------------- 1 file changed, 128 insertions(+), 102 deletions(-) diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c index 81c683426b49..010e87df7299 100644 --- a/arch/s390/mm/gmap.c +++ b/arch/s390/mm/gmap.c @@ -34,7 +34,7 @@ static struct gmap *gmap_alloc(unsigned long limit) { struct gmap *gmap; - struct page *page; + struct ptdesc *ptdesc; unsigned long *table; unsigned long etype, atype; @@ -67,12 +67,12 @@ static struct gmap *gmap_alloc(unsigned long limit) spin_lock_init(&gmap->guest_table_lock); spin_lock_init(&gmap->shadow_lock); refcount_set(&gmap->ref_count, 1); - page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); - if (!page) + ptdesc = pagetable_alloc(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); + if (!ptdesc) goto out_free; - page->_pt_s390_gaddr = 0; - list_add(&page->lru, &gmap->crst_list); - table = page_to_virt(page); + ptdesc->_pt_s390_gaddr = 0; + list_add(&ptdesc->pt_list, &gmap->crst_list); + table = ptdesc_to_virt(ptdesc); crst_table_init(table, etype); gmap->table = table; gmap->asce = atype | _ASCE_TABLE_LENGTH | @@ -181,25 +181,25 @@ static void gmap_rmap_radix_tree_free(struct radix_tree_root *root) */ static void gmap_free(struct gmap *gmap) { - struct page *page, *next; + struct ptdesc *ptdesc, *next; /* Flush tlb of all gmaps (if not already done for shadows) */ if (!(gmap_is_shadow(gmap) && gmap->removed)) gmap_flush_tlb(gmap); /* Free all segment & region tables. */ - list_for_each_entry_safe(page, next, &gmap->crst_list, lru) { - page->_pt_s390_gaddr = 0; - __free_pages(page, CRST_ALLOC_ORDER); + list_for_each_entry_safe(ptdesc, next, &gmap->crst_list, pt_list) { + ptdesc->_pt_s390_gaddr = 0; + pagetable_free(ptdesc); } gmap_radix_tree_free(&gmap->guest_to_host); gmap_radix_tree_free(&gmap->host_to_guest); /* Free additional data for a shadow gmap */ if (gmap_is_shadow(gmap)) { - /* Free all page tables. */ - list_for_each_entry_safe(page, next, &gmap->pt_list, lru) { - page->_pt_s390_gaddr = 0; - page_table_free_pgste(page); + /* Free all ptdesc tables. */ + list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list) { + ptdesc->_pt_s390_gaddr = 0; + page_table_free_pgste(ptdesc_page(ptdesc)); } gmap_rmap_radix_tree_free(&gmap->host_to_rmap); /* Release reference to the parent */ @@ -308,27 +308,27 @@ EXPORT_SYMBOL_GPL(gmap_get_enabled); static int gmap_alloc_table(struct gmap *gmap, unsigned long *table, unsigned long init, unsigned long gaddr) { - struct page *page; + struct ptdesc *ptdesc; unsigned long *new; /* since we dont free the gmap table until gmap_free we can unlock */ - page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); - if (!page) + ptdesc = pagetable_alloc(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); + if (!ptdesc) return -ENOMEM; - new = page_to_virt(page); + new = ptdesc_to_virt(ptdesc); crst_table_init(new, init); spin_lock(&gmap->guest_table_lock); if (*table & _REGION_ENTRY_INVALID) { - list_add(&page->lru, &gmap->crst_list); + list_add(&ptdesc->pt_list, &gmap->crst_list); *table = __pa(new) | _REGION_ENTRY_LENGTH | (*table & _REGION_ENTRY_TYPE_MASK); - page->_pt_s390_gaddr = gaddr; - page = NULL; + ptdesc->_pt_s390_gaddr = gaddr; + ptdesc = NULL; } spin_unlock(&gmap->guest_table_lock); - if (page) { - page->_pt_s390_gaddr = 0; - __free_pages(page, CRST_ALLOC_ORDER); + if (ptdesc) { + ptdesc->_pt_s390_gaddr = 0; + pagetable_free(ptdesc); } return 0; } @@ -341,15 +341,15 @@ static int gmap_alloc_table(struct gmap *gmap, unsigned long *table, */ static unsigned long __gmap_segment_gaddr(unsigned long *entry) { - struct page *page; + struct ptdesc *ptdesc; unsigned long offset, mask; offset = (unsigned long) entry / sizeof(unsigned long); offset = (offset & (PTRS_PER_PMD - 1)) * PMD_SIZE; mask = ~(PTRS_PER_PMD * sizeof(pmd_t) - 1); - page = virt_to_page((void *)((unsigned long) entry & mask)); + ptdesc = virt_to_ptdesc((void *)((unsigned long) entry & mask)); - return page->_pt_s390_gaddr + offset; + return ptdesc->_pt_s390_gaddr + offset; } /** @@ -1345,6 +1345,7 @@ static void gmap_unshadow_pgt(struct gmap *sg, unsigned long raddr) unsigned long *ste; phys_addr_t sto, pgt; struct page *page; + struct ptdesc *ptdesc; BUG_ON(!gmap_is_shadow(sg)); ste = gmap_table_walk(sg, raddr, 1); /* get segment pointer */ @@ -1358,9 +1359,11 @@ static void gmap_unshadow_pgt(struct gmap *sg, unsigned long raddr) __gmap_unshadow_pgt(sg, raddr, __va(pgt)); /* Free page table */ page = phys_to_page(pgt); - list_del(&page->lru); - page->_pt_s390_gaddr = 0; - page_table_free_pgste(page); + + ptdesc = page_ptdesc(page); + list_del(&ptdesc->pt_list); + ptdesc->_pt_s390_gaddr = 0; + page_table_free_pgste(ptdesc_page(ptdesc)); } /** @@ -1374,9 +1377,10 @@ static void gmap_unshadow_pgt(struct gmap *sg, unsigned long raddr) static void __gmap_unshadow_sgt(struct gmap *sg, unsigned long raddr, unsigned long *sgt) { - struct page *page; phys_addr_t pgt; int i; + struct page *page; + struct ptdesc *ptdesc; BUG_ON(!gmap_is_shadow(sg)); for (i = 0; i < _CRST_ENTRIES; i++, raddr += _SEGMENT_SIZE) { @@ -1387,9 +1391,11 @@ static void __gmap_unshadow_sgt(struct gmap *sg, unsigned long raddr, __gmap_unshadow_pgt(sg, raddr, __va(pgt)); /* Free page table */ page = phys_to_page(pgt); - list_del(&page->lru); - page->_pt_s390_gaddr = 0; - page_table_free_pgste(page); + + ptdesc = page_ptdesc(page); + list_del(&ptdesc->pt_list); + ptdesc->_pt_s390_gaddr = 0; + page_table_free_pgste(ptdesc_page(ptdesc)); } } @@ -1405,6 +1411,7 @@ static void gmap_unshadow_sgt(struct gmap *sg, unsigned long raddr) unsigned long r3o, *r3e; phys_addr_t sgt; struct page *page; + struct ptdesc *ptdesc; BUG_ON(!gmap_is_shadow(sg)); r3e = gmap_table_walk(sg, raddr, 2); /* get region-3 pointer */ @@ -1418,9 +1425,11 @@ static void gmap_unshadow_sgt(struct gmap *sg, unsigned long raddr) __gmap_unshadow_sgt(sg, raddr, __va(sgt)); /* Free segment table */ page = phys_to_page(sgt); - list_del(&page->lru); - page->_pt_s390_gaddr = 0; - __free_pages(page, CRST_ALLOC_ORDER); + + ptdesc = page_ptdesc(page); + list_del(&ptdesc->pt_list); + ptdesc->_pt_s390_gaddr = 0; + pagetable_free(ptdesc); } /** @@ -1434,9 +1443,10 @@ static void gmap_unshadow_sgt(struct gmap *sg, unsigned long raddr) static void __gmap_unshadow_r3t(struct gmap *sg, unsigned long raddr, unsigned long *r3t) { - struct page *page; phys_addr_t sgt; int i; + struct page *page; + struct ptdesc *ptdesc; BUG_ON(!gmap_is_shadow(sg)); for (i = 0; i < _CRST_ENTRIES; i++, raddr += _REGION3_SIZE) { @@ -1447,9 +1457,11 @@ static void __gmap_unshadow_r3t(struct gmap *sg, unsigned long raddr, __gmap_unshadow_sgt(sg, raddr, __va(sgt)); /* Free segment table */ page = phys_to_page(sgt); - list_del(&page->lru); - page->_pt_s390_gaddr = 0; - __free_pages(page, CRST_ALLOC_ORDER); + + ptdesc = page_ptdesc(page); + list_del(&ptdesc->pt_list); + ptdesc->_pt_s390_gaddr = 0; + pagetable_free(ptdesc); } } @@ -1465,6 +1477,7 @@ static void gmap_unshadow_r3t(struct gmap *sg, unsigned long raddr) unsigned long r2o, *r2e; phys_addr_t r3t; struct page *page; + struct ptdesc *ptdesc; BUG_ON(!gmap_is_shadow(sg)); r2e = gmap_table_walk(sg, raddr, 3); /* get region-2 pointer */ @@ -1478,9 +1491,11 @@ static void gmap_unshadow_r3t(struct gmap *sg, unsigned long raddr) __gmap_unshadow_r3t(sg, raddr, __va(r3t)); /* Free region 3 table */ page = phys_to_page(r3t); - list_del(&page->lru); - page->_pt_s390_gaddr = 0; - __free_pages(page, CRST_ALLOC_ORDER); + + ptdesc = page_ptdesc(page); + list_del(&ptdesc->pt_list); + ptdesc->_pt_s390_gaddr = 0; + pagetable_free(ptdesc); } /** @@ -1495,8 +1510,9 @@ static void __gmap_unshadow_r2t(struct gmap *sg, unsigned long raddr, unsigned long *r2t) { phys_addr_t r3t; - struct page *page; int i; + struct page *page; + struct ptdesc *ptdesc; BUG_ON(!gmap_is_shadow(sg)); for (i = 0; i < _CRST_ENTRIES; i++, raddr += _REGION2_SIZE) { @@ -1507,9 +1523,11 @@ static void __gmap_unshadow_r2t(struct gmap *sg, unsigned long raddr, __gmap_unshadow_r3t(sg, raddr, __va(r3t)); /* Free region 3 table */ page = phys_to_page(r3t); - list_del(&page->lru); - page->_pt_s390_gaddr = 0; - __free_pages(page, CRST_ALLOC_ORDER); + + ptdesc = page_ptdesc(page); + list_del(&ptdesc->pt_list); + ptdesc->_pt_s390_gaddr = 0; + pagetable_free(ptdesc); } } @@ -1525,6 +1543,7 @@ static void gmap_unshadow_r2t(struct gmap *sg, unsigned long raddr) unsigned long r1o, *r1e; struct page *page; phys_addr_t r2t; + struct ptdesc *ptdesc; BUG_ON(!gmap_is_shadow(sg)); r1e = gmap_table_walk(sg, raddr, 4); /* get region-1 pointer */ @@ -1538,9 +1557,11 @@ static void gmap_unshadow_r2t(struct gmap *sg, unsigned long raddr) __gmap_unshadow_r2t(sg, raddr, __va(r2t)); /* Free region 2 table */ page = phys_to_page(r2t); - list_del(&page->lru); - page->_pt_s390_gaddr = 0; - __free_pages(page, CRST_ALLOC_ORDER); + + ptdesc = page_ptdesc(page); + list_del(&ptdesc->pt_list); + ptdesc->_pt_s390_gaddr = 0; + pagetable_free(ptdesc); } /** @@ -1558,6 +1579,7 @@ static void __gmap_unshadow_r1t(struct gmap *sg, unsigned long raddr, struct page *page; phys_addr_t r2t; int i; + struct ptdesc *ptdesc; BUG_ON(!gmap_is_shadow(sg)); asce = __pa(r1t) | _ASCE_TYPE_REGION1; @@ -1571,9 +1593,11 @@ static void __gmap_unshadow_r1t(struct gmap *sg, unsigned long raddr, r1t[i] = _REGION1_ENTRY_EMPTY; /* Free region 2 table */ page = phys_to_page(r2t); - list_del(&page->lru); - page->_pt_s390_gaddr = 0; - __free_pages(page, CRST_ALLOC_ORDER); + + ptdesc = page_ptdesc(page); + list_del(&ptdesc->pt_list); + ptdesc->_pt_s390_gaddr = 0; + pagetable_free(ptdesc); } } @@ -1770,18 +1794,18 @@ int gmap_shadow_r2t(struct gmap *sg, unsigned long saddr, unsigned long r2t, unsigned long raddr, origin, offset, len; unsigned long *table; phys_addr_t s_r2t; - struct page *page; + struct ptdesc *ptdesc; int rc; BUG_ON(!gmap_is_shadow(sg)); /* Allocate a shadow region second table */ - page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); - if (!page) + ptdesc = pagetable_alloc(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); + if (!ptdesc) return -ENOMEM; - page->_pt_s390_gaddr = r2t & _REGION_ENTRY_ORIGIN; + ptdesc->_pt_s390_gaddr = r2t & _REGION_ENTRY_ORIGIN; if (fake) - page->_pt_s390_gaddr |= GMAP_SHADOW_FAKE_TABLE; - s_r2t = page_to_phys(page); + ptdesc->_pt_s390_gaddr |= GMAP_SHADOW_FAKE_TABLE; + s_r2t = page_to_phys(ptdesc_page(ptdesc)); /* Install shadow region second table */ spin_lock(&sg->guest_table_lock); table = gmap_table_walk(sg, saddr, 4); /* get region-1 pointer */ @@ -1802,7 +1826,7 @@ int gmap_shadow_r2t(struct gmap *sg, unsigned long saddr, unsigned long r2t, _REGION_ENTRY_TYPE_R1 | _REGION_ENTRY_INVALID; if (sg->edat_level >= 1) *table |= (r2t & _REGION_ENTRY_PROTECT); - list_add(&page->lru, &sg->crst_list); + list_add(&ptdesc->pt_list, &sg->crst_list); if (fake) { /* nothing to protect for fake tables */ *table &= ~_REGION_ENTRY_INVALID; @@ -1830,8 +1854,8 @@ int gmap_shadow_r2t(struct gmap *sg, unsigned long saddr, unsigned long r2t, return rc; out_free: spin_unlock(&sg->guest_table_lock); - page->_pt_s390_gaddr = 0; - __free_pages(page, CRST_ALLOC_ORDER); + ptdesc->_pt_s390_gaddr = 0; + pagetable_free(ptdesc); return rc; } EXPORT_SYMBOL_GPL(gmap_shadow_r2t); @@ -1855,18 +1879,18 @@ int gmap_shadow_r3t(struct gmap *sg, unsigned long saddr, unsigned long r3t, unsigned long raddr, origin, offset, len; unsigned long *table; phys_addr_t s_r3t; - struct page *page; + struct ptdesc *ptdesc; int rc; BUG_ON(!gmap_is_shadow(sg)); /* Allocate a shadow region second table */ - page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); - if (!page) + ptdesc = pagetable_alloc(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); + if (!ptdesc) return -ENOMEM; - page->_pt_s390_gaddr = r3t & _REGION_ENTRY_ORIGIN; + ptdesc->_pt_s390_gaddr = r3t & _REGION_ENTRY_ORIGIN; if (fake) - page->_pt_s390_gaddr |= GMAP_SHADOW_FAKE_TABLE; - s_r3t = page_to_phys(page); + ptdesc->_pt_s390_gaddr |= GMAP_SHADOW_FAKE_TABLE; + s_r3t = page_to_phys(ptdesc_page(ptdesc)); /* Install shadow region second table */ spin_lock(&sg->guest_table_lock); table = gmap_table_walk(sg, saddr, 3); /* get region-2 pointer */ @@ -1887,7 +1911,7 @@ int gmap_shadow_r3t(struct gmap *sg, unsigned long saddr, unsigned long r3t, _REGION_ENTRY_TYPE_R2 | _REGION_ENTRY_INVALID; if (sg->edat_level >= 1) *table |= (r3t & _REGION_ENTRY_PROTECT); - list_add(&page->lru, &sg->crst_list); + list_add(&ptdesc->pt_list, &sg->crst_list); if (fake) { /* nothing to protect for fake tables */ *table &= ~_REGION_ENTRY_INVALID; @@ -1915,8 +1939,8 @@ int gmap_shadow_r3t(struct gmap *sg, unsigned long saddr, unsigned long r3t, return rc; out_free: spin_unlock(&sg->guest_table_lock); - page->_pt_s390_gaddr = 0; - __free_pages(page, CRST_ALLOC_ORDER); + ptdesc->_pt_s390_gaddr = 0; + pagetable_free(ptdesc); return rc; } EXPORT_SYMBOL_GPL(gmap_shadow_r3t); @@ -1940,18 +1964,18 @@ int gmap_shadow_sgt(struct gmap *sg, unsigned long saddr, unsigned long sgt, unsigned long raddr, origin, offset, len; unsigned long *table; phys_addr_t s_sgt; - struct page *page; + struct ptdesc *ptdesc; int rc; BUG_ON(!gmap_is_shadow(sg) || (sgt & _REGION3_ENTRY_LARGE)); /* Allocate a shadow segment table */ - page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); - if (!page) + ptdesc = pagetable_alloc(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); + if (!ptdesc) return -ENOMEM; - page->_pt_s390_gaddr = sgt & _REGION_ENTRY_ORIGIN; + ptdesc->_pt_s390_gaddr = sgt & _REGION_ENTRY_ORIGIN; if (fake) - page->_pt_s390_gaddr |= GMAP_SHADOW_FAKE_TABLE; - s_sgt = page_to_phys(page); + ptdesc->_pt_s390_gaddr |= GMAP_SHADOW_FAKE_TABLE; + s_sgt = page_to_phys(ptdesc_page(ptdesc)); /* Install shadow region second table */ spin_lock(&sg->guest_table_lock); table = gmap_table_walk(sg, saddr, 2); /* get region-3 pointer */ @@ -1972,7 +1996,7 @@ int gmap_shadow_sgt(struct gmap *sg, unsigned long saddr, unsigned long sgt, _REGION_ENTRY_TYPE_R3 | _REGION_ENTRY_INVALID; if (sg->edat_level >= 1) *table |= sgt & _REGION_ENTRY_PROTECT; - list_add(&page->lru, &sg->crst_list); + list_add(&ptdesc->pt_list, &sg->crst_list); if (fake) { /* nothing to protect for fake tables */ *table &= ~_REGION_ENTRY_INVALID; @@ -2000,8 +2024,8 @@ int gmap_shadow_sgt(struct gmap *sg, unsigned long saddr, unsigned long sgt, return rc; out_free: spin_unlock(&sg->guest_table_lock); - page->_pt_s390_gaddr = 0; - __free_pages(page, CRST_ALLOC_ORDER); + ptdesc->_pt_s390_gaddr = 0; + pagetable_free(ptdesc); return rc; } EXPORT_SYMBOL_GPL(gmap_shadow_sgt); @@ -2024,8 +2048,9 @@ int gmap_shadow_pgt_lookup(struct gmap *sg, unsigned long saddr, int *fake) { unsigned long *table; - struct page *page; int rc; + struct page *page; + struct ptdesc *ptdesc; BUG_ON(!gmap_is_shadow(sg)); spin_lock(&sg->guest_table_lock); @@ -2033,9 +2058,10 @@ int gmap_shadow_pgt_lookup(struct gmap *sg, unsigned long saddr, if (table && !(*table & _SEGMENT_ENTRY_INVALID)) { /* Shadow page tables are full pages (pte+pgste) */ page = pfn_to_page(*table >> PAGE_SHIFT); - *pgt = page->_pt_s390_gaddr & ~GMAP_SHADOW_FAKE_TABLE; + ptdesc = page_ptdesc(page); + *pgt = ptdesc->_pt_s390_gaddr & ~GMAP_SHADOW_FAKE_TABLE; *dat_protection = !!(*table & _SEGMENT_ENTRY_PROTECT); - *fake = !!(page->_pt_s390_gaddr & GMAP_SHADOW_FAKE_TABLE); + *fake = !!(ptdesc->_pt_s390_gaddr & GMAP_SHADOW_FAKE_TABLE); rc = 0; } else { rc = -EAGAIN; @@ -2064,19 +2090,19 @@ int gmap_shadow_pgt(struct gmap *sg, unsigned long saddr, unsigned long pgt, { unsigned long raddr, origin; unsigned long *table; - struct page *page; + struct ptdesc *ptdesc; phys_addr_t s_pgt; int rc; BUG_ON(!gmap_is_shadow(sg) || (pgt & _SEGMENT_ENTRY_LARGE)); /* Allocate a shadow page table */ - page = page_table_alloc_pgste(sg->mm); - if (!page) + ptdesc = page_ptdesc(page_table_alloc_pgste(sg->mm)); + if (!ptdesc) return -ENOMEM; - page->_pt_s390_gaddr = pgt & _SEGMENT_ENTRY_ORIGIN; + ptdesc->_pt_s390_gaddr = pgt & _SEGMENT_ENTRY_ORIGIN; if (fake) - page->_pt_s390_gaddr |= GMAP_SHADOW_FAKE_TABLE; - s_pgt = page_to_phys(page); + ptdesc->_pt_s390_gaddr |= GMAP_SHADOW_FAKE_TABLE; + s_pgt = page_to_phys(ptdesc_page(ptdesc)); /* Install shadow page table */ spin_lock(&sg->guest_table_lock); table = gmap_table_walk(sg, saddr, 1); /* get segment pointer */ @@ -2094,7 +2120,7 @@ int gmap_shadow_pgt(struct gmap *sg, unsigned long saddr, unsigned long pgt, /* mark as invalid as long as the parent table is not protected */ *table = (unsigned long) s_pgt | _SEGMENT_ENTRY | (pgt & _SEGMENT_ENTRY_PROTECT) | _SEGMENT_ENTRY_INVALID; - list_add(&page->lru, &sg->pt_list); + list_add(&ptdesc->pt_list, &sg->pt_list); if (fake) { /* nothing to protect for fake tables */ *table &= ~_SEGMENT_ENTRY_INVALID; @@ -2120,8 +2146,8 @@ int gmap_shadow_pgt(struct gmap *sg, unsigned long saddr, unsigned long pgt, return rc; out_free: spin_unlock(&sg->guest_table_lock); - page->_pt_s390_gaddr = 0; - page_table_free_pgste(page); + ptdesc->_pt_s390_gaddr = 0; + page_table_free_pgste(ptdesc_page(ptdesc)); return rc; } @@ -2814,11 +2840,11 @@ EXPORT_SYMBOL_GPL(__s390_uv_destroy_range); */ void s390_unlist_old_asce(struct gmap *gmap) { - struct page *old; + struct ptdesc *old; - old = virt_to_page(gmap->table); + old = virt_to_ptdesc(gmap->table); spin_lock(&gmap->guest_table_lock); - list_del(&old->lru); + list_del(&old->pt_list); /* * Sometimes the topmost page might need to be "removed" multiple * times, for example if the VM is rebooted into secure mode several @@ -2833,7 +2859,7 @@ void s390_unlist_old_asce(struct gmap *gmap) * pointers, so list_del can work (and do nothing) without * dereferencing stale or invalid pointers. */ - INIT_LIST_HEAD(&old->lru); + INIT_LIST_HEAD(&old->pt_list); spin_unlock(&gmap->guest_table_lock); } EXPORT_SYMBOL_GPL(s390_unlist_old_asce); @@ -2854,7 +2880,7 @@ EXPORT_SYMBOL_GPL(s390_unlist_old_asce); int s390_replace_asce(struct gmap *gmap) { unsigned long asce; - struct page *page; + struct ptdesc *ptdesc; void *table; s390_unlist_old_asce(gmap); @@ -2863,10 +2889,10 @@ int s390_replace_asce(struct gmap *gmap) if ((gmap->asce & _ASCE_TYPE_MASK) == _ASCE_TYPE_SEGMENT) return -EINVAL; - page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); - if (!page) + ptdesc = pagetable_alloc(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); + if (!ptdesc) return -ENOMEM; - table = page_to_virt(page); + table = ptdesc_to_virt(ptdesc); memcpy(table, gmap->table, 1UL << (CRST_ALLOC_ORDER + PAGE_SHIFT)); /* @@ -2875,7 +2901,7 @@ int s390_replace_asce(struct gmap *gmap) * it will be freed when the VM is torn down. */ spin_lock(&gmap->guest_table_lock); - list_add(&page->lru, &gmap->crst_list); + list_add(&ptdesc->pt_list, &gmap->crst_list); spin_unlock(&gmap->guest_table_lock); /* Set new table origin while preserving existing ASCE control bits */ From patchwork Mon Jun 12 21:04:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277361 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 F02E3C7EE43 for ; Mon, 12 Jun 2023 21:05:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 292C7940013; Mon, 12 Jun 2023 17:05:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 21CDC94000B; Mon, 12 Jun 2023 17:05:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 096F2940013; Mon, 12 Jun 2023 17:05:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id E061394000B for ; Mon, 12 Jun 2023 17:05:23 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id BD77FC02BC for ; Mon, 12 Jun 2023 21:05:23 +0000 (UTC) X-FDA: 80895326526.16.1CA28C4 Received: from mail-yw1-f178.google.com (mail-yw1-f178.google.com [209.85.128.178]) by imf24.hostedemail.com (Postfix) with ESMTP id CE3A0180004 for ; Mon, 12 Jun 2023 21:05:21 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=IFfUm1+f; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.178 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=1686603921; 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=g0EDlTBepFAIScUxyTJ+0DyGhEsxHu6BpoqqcqVDYAk=; b=y/5j08n0q0/E7EIG7eh0kRvCW/J7JA74m74Qo7nO2+b1Vc70ECkkF2Rw+PjatUuuNLhxCl Y9iPc+QkGxLK7jVL4om//vJ16pG4uQR4QwjGhlzqv1PG1kVBYTge6+Ut4gGNAsnIHcLCAD mbMTyQAVJrEg1MNhvj2nhreO9QvFu9A= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=IFfUm1+f; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.178 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603921; a=rsa-sha256; cv=none; b=qtlFTwlF3IHVh8tkwhQj//KtJ6V6TPBRcVCe+Uj8IhOYUsSx3/rLO6kI3khApZYo6kyYE/ FdGUHARTX1aBby0px5sNfnX5uWGiiVGIVrXSELBF5VqoXYsfAPlp0jyiUAyvonBlQBdwpA +uBnZtjcqrXhx84zTW5TZlIaBtrNi3w= Received: by mail-yw1-f178.google.com with SMTP id 00721157ae682-56d05daf0d5so24882197b3.0 for ; Mon, 12 Jun 2023 14:05:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603921; x=1689195921; 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=g0EDlTBepFAIScUxyTJ+0DyGhEsxHu6BpoqqcqVDYAk=; b=IFfUm1+ftG1PYGDw7tHBzE4M1Nhxz2Opk18euBEqp2TKE0D4Cnor8glDaNdtYk7aEB /p/Um9wv5HZTulnWj52wM35aDfNBl/ytfQFn4qb8JI1wJsBdYyAcznp6tmoi9yCEZTm7 6pQAvSomQIY3zNEbmIOOm8oH6Wd3RhBVMaDrx4Qr1kynuYgoQqhclVeZehoeR5dFX3Yh JGLwwIfiiLg1ZgDpiJ2+qexN79hRp9c58wCClWfHqZpqGEIFqEVYYyZ/M7/EBo0JZHfV X7pxIQ4C9tp45dXnwLzutma1CHQaYyRI9+M4KE6SjIRg2r7sysMZZ/ZFUWnSf5TI5T17 f1iQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603921; x=1689195921; 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=g0EDlTBepFAIScUxyTJ+0DyGhEsxHu6BpoqqcqVDYAk=; b=gED5VwLAsatM7hyT4T/1DkA5ip46Aac9sschhn3uhemSxHvsyWnGRIRu4GLuttZvwP QMQ4gOjLtvyADRBqApTUShIrGOdd0ECHEyOb5JnG6LSSZ9/veZ30jIY4Enm/9jlqM0Cr b93/jydRbH+zuptvwmNv30ZvQIFtJ/n+6xgbnh2dJ1F8CGyJTH0w3cCYfSZchDDfvMWi i+XeOKpq1gHJK3i1g5/yAnhMrZlxhy2yUEU/QmcG88OKgsZOYG2h6ScgID60+E4uHtPu m55SySTqF8ENZ1cPa60+8TSl028Bb77n2Gj+as836WWk8QpM5ksT16w3aGE6uyTjvVIq 1ipQ== X-Gm-Message-State: AC+VfDz2RSa4rTUsvOgEmOducdy0D/hZwkHJ7woqzrbQDsYHQxn8rn6Q yM0uMcWNK31lrJE/08Z6dlI= X-Google-Smtp-Source: ACHHUZ6/5C9dV3qSGDNsxL0eIlGySV7EoNTae+xvT9pHgv1KAJMONnlMXEnOjc9e+m5K4Puq4XMFCQ== X-Received: by 2002:a0d:e2c7:0:b0:56c:f6cd:7b55 with SMTP id l190-20020a0de2c7000000b0056cf6cd7b55mr7963527ywe.6.1686603920835; Mon, 12 Jun 2023 14:05:20 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:20 -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)" , David Hildenbrand , Claudio Imbrenda Subject: [PATCH v4 17/34] s390: Convert various pgalloc functions to use ptdescs Date: Mon, 12 Jun 2023 14:04:06 -0700 Message-Id: <20230612210423.18611-18-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: CE3A0180004 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: ot1jkc5k9x1rpi5j5stp6yb4xeo8pikz X-HE-Tag: 1686603921-198857 X-HE-Meta: U2FsdGVkX19l5No2P/JW1ZFeZsO4Tu5wYLy6T3LqIwhaelNS1V4NGEJXHoj6KUowXJUNJ3LZv8YEtoL4Ax/PmMm/pDx455eBH4cL8dYF03EIropAQHjamxS185qOsUSIsU88SJJDABSN//JZblsYNKEQ2Rgc8BR+v84bJNajl3sMIoadDp50bJWu9oKN3edrRW6xWQUNkD9vTLasHYud/lQV/TbcGYHMkw9s/MjK0Sw0LDFE8QWH68VpO2rZgc1gd4htiG7JAAQ6R/5z3MCsX1k70MqfnqsTXxE3Il9jKmOU/DvsLqc73yTk2QK9g+XCciov8mzGeIBVDKJCL2SSY9N0HNfeiswVv1PISee4cjNGCGxMSxTS2BShclD6dl8tmgW459HwUgewdIDtQ1sWvn65fOMFaupvYU6yYgGafyF8dk9twX4QUTjmOt+7c+i49WgVOReo0FqFVckvzYFk8ldxXxS0frCMWg4t72LbIPBRSsY2RSBH8XPcIGkBGJ4G4ZguwlnUA+SsvocQDZO/AmWFUqvSbqBHDrBGd34MgfR2AqvjDb5exOKD1Hlh7x3K6KF/nrRIM3vXcGfs3mtz5AGpamn/HhWvTSf+Afk0nLluqMFLa6XKB+dyClUDHz94SvLn9ekWssSaup2ccqAArtUscbFKt/qhJqTteNflomDuaAdTZCTs3FtqlUROwdGtv8x6gbV93zkawslQ2RNC8nMNegokn0kwX4mTKeeL13GidXZmV5Oz+nkJ8z+b/Wrz7LZrN8GTKFFWN1UsOd+C166nJgE1YhIlVa3Ii8XWv4D7b+Jl2AmteJJ/9jrTQX9sVIhp9fCtG3D95CMPOWwZRqIwewFtCWjWNmJn2fGhyiD2kvxDRcB/CJ9LMsl6JZqWHiBWncXxND/V0az0RKYEa0FAmWuXhCOVgy96iK0lJU3ltEaUoPQczD2osDS7tcEm1UqZMXclGmV+5g/a5Lo w1yxkb9B LTMuazbOICGOFuIxJ8h2WwUGHeZ9NxU0kqHdpB+GrZhNZEwFXeICapZb/lASwc2cf5YKkt9bMmrsSFoTi9OVcEMbi+IbCO70ckvmYJtJhTS7sjvr1V18/81BvoPXKExQtkKFTL+m7sZIIQ/oEEcrX/YkodcJtfIgSrm0KZ/ba9t9B23LcvpGkgMOcBnXAjN9o8omh1TK91iI6TeqKBL7VZ0IAlxgH8CY8fct662mcKct98Twxqpicx9eTkCj6LzHKIRpnet3b6fkcD5OnDM0jyFkSWENOyr1N31Lwm+fUmlY5UAmFkQSX6cil7u6BDJntClEOeLhW2TNStOfa9/SOUP3LF9CmE4KeRMkak596tAQnIxoEnE5vZ4r1DuvowMTn/v1+pPzzyiCbEqc9RfLvvJ7qkK9FLm24+8fBHUSt/AVt0IREUqQIsfQR7WP3INJpnd3Sr3phh8sVOOfRWrldLcFBD65MTejqPxbU8pKvyXkaudidNgRTizYil/FN7nE+RbKAfHq0nwiQeDS6+7JxPsXnpg== 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: Mike Rapoport (IBM) --- arch/s390/include/asm/pgalloc.h | 4 +- arch/s390/include/asm/tlb.h | 4 +- arch/s390/mm/pgalloc.c | 108 ++++++++++++++++---------------- 3 files changed, 59 insertions(+), 57 deletions(-) diff --git a/arch/s390/include/asm/pgalloc.h b/arch/s390/include/asm/pgalloc.h index 17eb618f1348..00ad9b88fda9 100644 --- a/arch/s390/include/asm/pgalloc.h +++ b/arch/s390/include/asm/pgalloc.h @@ -86,7 +86,7 @@ static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long vmaddr) if (!table) return NULL; crst_table_init(table, _SEGMENT_ENTRY_EMPTY); - if (!pgtable_pmd_page_ctor(virt_to_page(table))) { + if (!pagetable_pmd_ctor(virt_to_ptdesc(table))) { crst_table_free(mm, table); return NULL; } @@ -97,7 +97,7 @@ static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) { if (mm_pmd_folded(mm)) return; - pgtable_pmd_page_dtor(virt_to_page(pmd)); + pagetable_pmd_dtor(virt_to_ptdesc(pmd)); crst_table_free(mm, (unsigned long *) pmd); } diff --git a/arch/s390/include/asm/tlb.h b/arch/s390/include/asm/tlb.h index b91f4a9b044c..383b1f91442c 100644 --- a/arch/s390/include/asm/tlb.h +++ b/arch/s390/include/asm/tlb.h @@ -89,12 +89,12 @@ static inline void pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, { if (mm_pmd_folded(tlb->mm)) return; - pgtable_pmd_page_dtor(virt_to_page(pmd)); + pagetable_pmd_dtor(virt_to_ptdesc(pmd)); __tlb_adjust_range(tlb, address, PAGE_SIZE); tlb->mm->context.flush_mm = 1; tlb->freed_tables = 1; tlb->cleared_puds = 1; - tlb_remove_table(tlb, pmd); + tlb_remove_ptdesc(tlb, pmd); } /* diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c index 6b99932abc66..eeb7c95b98cf 100644 --- a/arch/s390/mm/pgalloc.c +++ b/arch/s390/mm/pgalloc.c @@ -43,17 +43,17 @@ __initcall(page_table_register_sysctl); unsigned long *crst_table_alloc(struct mm_struct *mm) { - struct page *page = alloc_pages(GFP_KERNEL, CRST_ALLOC_ORDER); + struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL, CRST_ALLOC_ORDER); - if (!page) + if (!ptdesc) return NULL; - arch_set_page_dat(page, CRST_ALLOC_ORDER); - return (unsigned long *) page_to_virt(page); + arch_set_page_dat(ptdesc_page(ptdesc), CRST_ALLOC_ORDER); + return (unsigned long *) ptdesc_to_virt(ptdesc); } void crst_table_free(struct mm_struct *mm, unsigned long *table) { - free_pages((unsigned long)table, CRST_ALLOC_ORDER); + pagetable_free(virt_to_ptdesc(table)); } static void __crst_table_upgrade(void *arg) @@ -140,21 +140,21 @@ static inline unsigned int atomic_xor_bits(atomic_t *v, unsigned int bits) struct page *page_table_alloc_pgste(struct mm_struct *mm) { - struct page *page; + struct ptdesc *ptdesc; u64 *table; - page = alloc_page(GFP_KERNEL); - if (page) { - table = (u64 *)page_to_virt(page); + ptdesc = pagetable_alloc(GFP_KERNEL, 0); + if (ptdesc) { + table = (u64 *)ptdesc_to_virt(ptdesc); memset64(table, _PAGE_INVALID, PTRS_PER_PTE); memset64(table + PTRS_PER_PTE, 0, PTRS_PER_PTE); } - return page; + return ptdesc_page(ptdesc); } void page_table_free_pgste(struct page *page) { - __free_page(page); + pagetable_free(page_ptdesc(page)); } #endif /* CONFIG_PGSTE */ @@ -230,7 +230,7 @@ void page_table_free_pgste(struct page *page) unsigned long *page_table_alloc(struct mm_struct *mm) { unsigned long *table; - struct page *page; + struct ptdesc *ptdesc; unsigned int mask, bit; /* Try to get a fragment of a 4K page as a 2K page table */ @@ -238,9 +238,9 @@ unsigned long *page_table_alloc(struct mm_struct *mm) table = NULL; spin_lock_bh(&mm->context.lock); if (!list_empty(&mm->context.pgtable_list)) { - page = list_first_entry(&mm->context.pgtable_list, - struct page, lru); - mask = atomic_read(&page->pt_frag_refcount); + ptdesc = list_first_entry(&mm->context.pgtable_list, + struct ptdesc, pt_list); + mask = atomic_read(&ptdesc->pt_frag_refcount); /* * The pending removal bits must also be checked. * Failure to do so might lead to an impossible @@ -253,13 +253,13 @@ unsigned long *page_table_alloc(struct mm_struct *mm) */ mask = (mask | (mask >> 4)) & 0x03U; if (mask != 0x03U) { - table = (unsigned long *) page_to_virt(page); + table = (unsigned long *) ptdesc_to_virt(ptdesc); bit = mask & 1; /* =1 -> second 2K */ if (bit) table += PTRS_PER_PTE; - atomic_xor_bits(&page->pt_frag_refcount, + atomic_xor_bits(&ptdesc->pt_frag_refcount, 0x01U << bit); - list_del(&page->lru); + list_del(&ptdesc->pt_list); } } spin_unlock_bh(&mm->context.lock); @@ -267,27 +267,27 @@ unsigned long *page_table_alloc(struct mm_struct *mm) return table; } /* Allocate a fresh page */ - page = alloc_page(GFP_KERNEL); - if (!page) + ptdesc = pagetable_alloc(GFP_KERNEL, 0); + if (!ptdesc) return NULL; - if (!pgtable_pte_page_ctor(page)) { - __free_page(page); + if (!pagetable_pte_ctor(ptdesc)) { + pagetable_free(ptdesc); return NULL; } - arch_set_page_dat(page, 0); + arch_set_page_dat(ptdesc_page(ptdesc), 0); /* Initialize page table */ - table = (unsigned long *) page_to_virt(page); + table = (unsigned long *) ptdesc_to_virt(ptdesc); if (mm_alloc_pgste(mm)) { /* Return 4K page table with PGSTEs */ - atomic_xor_bits(&page->pt_frag_refcount, 0x03U); + atomic_xor_bits(&ptdesc->pt_frag_refcount, 0x03U); memset64((u64 *)table, _PAGE_INVALID, PTRS_PER_PTE); memset64((u64 *)table + PTRS_PER_PTE, 0, PTRS_PER_PTE); } else { /* Return the first 2K fragment of the page */ - atomic_xor_bits(&page->pt_frag_refcount, 0x01U); + atomic_xor_bits(&ptdesc->pt_frag_refcount, 0x01U); memset64((u64 *)table, _PAGE_INVALID, 2 * PTRS_PER_PTE); spin_lock_bh(&mm->context.lock); - list_add(&page->lru, &mm->context.pgtable_list); + list_add(&ptdesc->pt_list, &mm->context.pgtable_list); spin_unlock_bh(&mm->context.lock); } return table; @@ -309,9 +309,8 @@ static void page_table_release_check(struct page *page, void *table, void page_table_free(struct mm_struct *mm, unsigned long *table) { unsigned int mask, bit, half; - struct page *page; + struct ptdesc *ptdesc = virt_to_ptdesc(table); - page = virt_to_page(table); if (!mm_alloc_pgste(mm)) { /* Free 2K page table fragment of a 4K page */ bit = ((unsigned long) table & ~PAGE_MASK)/(PTRS_PER_PTE*sizeof(pte_t)); @@ -321,39 +320,38 @@ void page_table_free(struct mm_struct *mm, unsigned long *table) * will happen outside of the critical section from this * function or from __tlb_remove_table() */ - mask = atomic_xor_bits(&page->pt_frag_refcount, 0x11U << bit); + mask = atomic_xor_bits(&ptdesc->pt_frag_refcount, 0x11U << bit); if (mask & 0x03U) - list_add(&page->lru, &mm->context.pgtable_list); + list_add(&ptdesc->pt_list, &mm->context.pgtable_list); else - list_del(&page->lru); + list_del(&ptdesc->pt_list); spin_unlock_bh(&mm->context.lock); - mask = atomic_xor_bits(&page->pt_frag_refcount, 0x10U << bit); + mask = atomic_xor_bits(&ptdesc->pt_frag_refcount, 0x10U << bit); if (mask != 0x00U) return; half = 0x01U << bit; } else { half = 0x03U; - mask = atomic_xor_bits(&page->pt_frag_refcount, 0x03U); + mask = atomic_xor_bits(&ptdesc->pt_frag_refcount, 0x03U); } - page_table_release_check(page, table, half, mask); - pgtable_pte_page_dtor(page); - __free_page(page); + page_table_release_check(ptdesc_page(ptdesc), table, half, mask); + pagetable_pte_dtor(ptdesc); + pagetable_free(ptdesc); } void page_table_free_rcu(struct mmu_gather *tlb, unsigned long *table, unsigned long vmaddr) { struct mm_struct *mm; - struct page *page; unsigned int bit, mask; + struct ptdesc *ptdesc = virt_to_ptdesc(table); mm = tlb->mm; - page = virt_to_page(table); if (mm_alloc_pgste(mm)) { gmap_unlink(mm, table, vmaddr); table = (unsigned long *) ((unsigned long)table | 0x03U); - tlb_remove_table(tlb, table); + tlb_remove_ptdesc(tlb, table); return; } bit = ((unsigned long) table & ~PAGE_MASK) / (PTRS_PER_PTE*sizeof(pte_t)); @@ -363,11 +361,11 @@ void page_table_free_rcu(struct mmu_gather *tlb, unsigned long *table, * outside of the critical section from __tlb_remove_table() or from * page_table_free() */ - mask = atomic_xor_bits(&page->pt_frag_refcount, 0x11U << bit); + mask = atomic_xor_bits(&ptdesc->pt_frag_refcount, 0x11U << bit); if (mask & 0x03U) - list_add_tail(&page->lru, &mm->context.pgtable_list); + list_add_tail(&ptdesc->pt_list, &mm->context.pgtable_list); else - list_del(&page->lru); + list_del(&ptdesc->pt_list); spin_unlock_bh(&mm->context.lock); table = (unsigned long *) ((unsigned long) table | (0x01U << bit)); tlb_remove_table(tlb, table); @@ -377,7 +375,7 @@ void __tlb_remove_table(void *_table) { unsigned int mask = (unsigned long) _table & 0x03U, half = mask; void *table = (void *)((unsigned long) _table ^ mask); - struct page *page = virt_to_page(table); + struct ptdesc *ptdesc = virt_to_ptdesc(table); switch (half) { case 0x00U: /* pmd, pud, or p4d */ @@ -385,18 +383,18 @@ void __tlb_remove_table(void *_table) return; case 0x01U: /* lower 2K of a 4K page table */ case 0x02U: /* higher 2K of a 4K page table */ - mask = atomic_xor_bits(&page->pt_frag_refcount, mask << 4); + mask = atomic_xor_bits(&ptdesc->pt_frag_refcount, mask << 4); if (mask != 0x00U) return; break; case 0x03U: /* 4K page table with pgstes */ - mask = atomic_xor_bits(&page->pt_frag_refcount, 0x03U); + mask = atomic_xor_bits(&ptdesc->pt_frag_refcount, 0x03U); break; } - page_table_release_check(page, table, half, mask); - pgtable_pte_page_dtor(page); - __free_page(page); + page_table_release_check(ptdesc_page(ptdesc), table, half, mask); + pagetable_pte_dtor(ptdesc); + pagetable_free(ptdesc); } /* @@ -424,16 +422,20 @@ static void base_pgt_free(unsigned long *table) static unsigned long *base_crst_alloc(unsigned long val) { unsigned long *table; + struct ptdesc *ptdesc; - table = (unsigned long *)__get_free_pages(GFP_KERNEL, CRST_ALLOC_ORDER); - if (table) - crst_table_init(table, val); + ptdesc = pagetable_alloc(GFP_KERNEL, CRST_ALLOC_ORDER); + if (!ptdesc) + return NULL; + table = ptdesc_address(ptdesc); + + crst_table_init(table, val); return table; } static void base_crst_free(unsigned long *table) { - free_pages((unsigned long)table, CRST_ALLOC_ORDER); + pagetable_free(virt_to_ptdesc(table)); } #define BASE_ADDR_END_FUNC(NAME, SIZE) \ From patchwork Mon Jun 12 21:04:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277362 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 63ABAC88CB9 for ; Mon, 12 Jun 2023 21:05:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1F83494001A; Mon, 12 Jun 2023 17:05:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 180AD94000B; Mon, 12 Jun 2023 17:05:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EEEF494001A; Mon, 12 Jun 2023 17:05:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id D868494000B for ; Mon, 12 Jun 2023 17:05:25 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id A141EC0346 for ; Mon, 12 Jun 2023 21:05:25 +0000 (UTC) X-FDA: 80895326610.28.AC2C912 Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com [209.85.128.181]) by imf12.hostedemail.com (Postfix) with ESMTP id A5CBC40007 for ; Mon, 12 Jun 2023 21:05:23 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=B5eteOvH; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf12.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.181 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=1686603923; 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=9BBSMNk3/NV9IPbcmTeXVmuDxVjvV9nk5pHOLLkR9Zc=; b=cj6crOHj0P3I2MzUS11F+2O8hW/8dhiTuScb1tfslmQG77NUvsK2RER6R64tpchUZt/I9v o5IBDubWNJBuuFNkOhaQT/3cp//bhnXPkcFep1CktIXSsjX/c3E98UbwsZRG24mygdhz0B XNOvZn8M01KMs3o3N55Szu1JmCLyODM= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=B5eteOvH; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf12.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603923; a=rsa-sha256; cv=none; b=qtvPPTv/LgyyEGBoQBFnehDFDSf6ceuk2qJdrl1F3tu+iRGLpm2Iby8bVPTwKrws4zT2es tSKVZ7ivkKJMdW1nXVUgkr9HrJWx9vqTK0kA9rHiHwv6KraW/7HTblvRuXRNrjOXED/irL 5l31FsxGsXa+IGfKlsBCM0kzKoA40fA= Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-569386b7861so86050977b3.0 for ; Mon, 12 Jun 2023 14:05:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603923; x=1689195923; 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=9BBSMNk3/NV9IPbcmTeXVmuDxVjvV9nk5pHOLLkR9Zc=; b=B5eteOvH/q+5UxTkqPiKmSRGXAjb4bZMizLs/WNtLaesb1E0HpRn4up+92FQaO/msD wl+HgJ9chyyZgdROsDvWF8ST2c98XDyJ6K5mIkqjJX4+EdwGnn3FI4jGMxc7JXWmf967 aU1KzzzuV6U5c/qEMroqPTw1zV9aDblRqBawPVlpf/Mlyp6BjBb5H05VxOKBrkeVjlqN FunX9lODEGlrIj4hvPqV1OUn4lS2vKzFGXO/PdJAy/LDMA65UwEZCw3NLCYo8+J5kL9P iG2KwFG+0fA0Z25/Erx4n5fssjHvgoAeU/1R/dnILNKDOgbuGKGvMNK5K7M37Fiw/tnm j5mQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603923; x=1689195923; 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=9BBSMNk3/NV9IPbcmTeXVmuDxVjvV9nk5pHOLLkR9Zc=; b=QhZmhaZYXVzmbaxjAdGMEAWf6GflgnbU2lC6QJhZgQOMCYi3QABr4TFKXnFgB9AfVa 1uWxhM9KvKWkv4AB7wIf/n2G9L65xcM1I8np9H7LTCiz8gzw1NfxaCgihz+kbipZxdXK IEhp+TOZ+cDg+IUe/TCs++MYR6A2znEAYAqjNugaBNyDogH+aOpH94ER9jPZGjZFLzuv f6NhCs6S5S1Qj+rsWUadG6EDQpt+lyG2tzrIEx218NPel+COsEk4PW7r7kkQAaZuCdPE wos7KyTqaL5FsAliK/qtol1ZCnvQ1gTR3tUCI+kZZz6IoJ8ZmnqnvGZASMhyR8TBjjGo CHHg== X-Gm-Message-State: AC+VfDwSwAC3CkQwGNupf/6nNdOos6zfRcsSjj4+9ns2XAmVOD05LIwu FVMiopqKBybEFHyIl1A3pkzn5LJ5X273oA== X-Google-Smtp-Source: ACHHUZ6Y5hnmbR0E296qiytbEPqdIHR5totNZCgnfGVo00JLi96ohBBFsqGnqpvBKL1saABj0PHBjA== X-Received: by 2002:a81:8495:0:b0:56d:c8d:be26 with SMTP id u143-20020a818495000000b0056d0c8dbe26mr5358308ywf.26.1686603922720; Mon, 12 Jun 2023 14:05:22 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:22 -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)" Subject: [PATCH v4 18/34] mm: Remove page table members from struct page Date: Mon, 12 Jun 2023 14:04:07 -0700 Message-Id: <20230612210423.18611-19-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: A5CBC40007 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: cef897kakf4k7e8aw3ceth5p4i5134fu X-HE-Tag: 1686603923-386477 X-HE-Meta: U2FsdGVkX1+l/urKmUn8GvgPw8PNevOqYVdqfXAVpK2kPkn9AYFPcmA0IKKrrSwYgOMeyhguI9ukeidWWhpWGOMUVh3mnEizUC4APm6Vziqcj67kTVyPy5cAQvSmihKHmOhVgnYZIhc7/53VEUuItB/bJRLbcUznMz6cuYZeuPMvODuJKCM3PxV/Q3EnJTfcUIZ9dVOpaus8oqzSCl1cGot3N8dON5V96HQaELsT7Uhs4+XANQpXnFAUKaVrBqNxb380FxGD0EH3yzadlNhN6lFw6kkqTARklRKCAAL+7MHTKTTrTqit8U3xY4DkO69x4uw3Weev6+kF9Dlfa+uTfAvu5Hqjk54BGR8ZUCEi0MdT2NnuW9MfTD43mE1sX/B8IL6NZAUajytb36/bNNTmr/PTbD0TPhypWN0GO/P6WUvGdDP0Vti9kPxoJW7vAUVMDIPn6LiZI1Qm8wLrChGQgZPsbiFVOy0OHLv3ij3ZesYHIzpJ20NtpSm3R5oCQ8Cq7x43ODeiOpO4vcWKJvYMJ1RnsXnRx4sRqPY1Nf4zyG5X7eEtp2vLQSdvaxZg7uRNlafqWwxV6d4XbySbLeT7d0/x56bCmjV1pkyN370dDv0pXAwZ44ljF2YChStfXMQ4yRpKdjydfmVPRK2jNxO2lGKny05LGGPXotg8DuREQ9cvqtPzRduCfY+DahlM0Z/bDhMdjbu1tAxkerEka2RlkvqJWx+1eJyUrAUX84vXOk1LrvgwIm8/8cRWKAFSMQxb8wVUliJnNSyUevhbnNHKt38CeK1QBsv7Q9angPOuvoIUZ2bDS/0QH5kqNsRsw2YcVve+Xon3e7iNV+e0KXIM6FfarecN2Cn/KDnUO545uMOiUBhiGFuwkvgxNpa8zdyca/DcIpt8nouD3Ocb2d9ujjmFdwd9yL/iu+KpmCGcXxJnjYUD8Qa+nFwoc+KQBrbm1rZ3qBWSJHGijiXQX2T 0ILWUv7+ nTBxb4jUYtj5klJdP1DBDE4FUqoWsUCTkKZEkY6G2iGwQi4z8Iiy/RwCilzxDNTpwJhIeDSaYcgFZq3/+ZhnVp07aVNTiDrGf+7mv/wVDNy1xj7e3a0D31tdoQdS8SsqhkZMLkFQTaAHOc7R6+Xo5GwFytmiZnotU1T47IGvG+6Pa6YgGQ/1yoEI8O2bfuRnoUtsVmSyA5QbM8DEODHaIcqflt9XD7OkIxN+jOpvq/n177JNeUPZdQztNHurRIW6MuvJFg66yUXwRniTtvvIh2UtK8Ccnm8trPmWXaE+uIOsx32nd/GTPU08nC2ijsuwgHoJwF5WVRs5CWLqc80F8AjSxsNr9W8OlszW4gMKvoF7y3dlDWShtuWTb3FRhk1aJLo6jdt3zLRESgg7M7tJy5grCgX3/a+75zq9BBzdHNgr8ZjyGsH45a5o7f7QYGXfsLjHZoWFybmofbQD7/G/zc5CuSDuaou7+fhSaUG8NT1u2ECTxmmy+QeSg+iWtFkGYgMNx/G7pvPonCcYSpqm9Gj8yjw== 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: The page table members are now split out into their own ptdesc struct. Remove them from struct page. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- include/linux/mm_types.h | 14 -------------- include/linux/pgtable.h | 3 --- 2 files changed, 17 deletions(-) diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 6161fe1ae5b8..31ffa1be21d0 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -141,20 +141,6 @@ struct page { struct { /* Tail pages of compound page */ unsigned long compound_head; /* Bit zero is set */ }; - struct { /* Page table pages */ - unsigned long _pt_pad_1; /* compound_head */ - pgtable_t pmd_huge_pte; /* protected by page->ptl */ - unsigned long _pt_s390_gaddr; /* mapping */ - union { - struct mm_struct *pt_mm; /* x86 pgds only */ - atomic_t pt_frag_refcount; /* powerpc */ - }; -#if ALLOC_SPLIT_PTLOCKS - spinlock_t *ptl; -#else - spinlock_t ptl; -#endif - }; struct { /* ZONE_DEVICE pages */ /** @pgmap: Points to the hosting device page map. */ struct dev_pagemap *pgmap; diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h index c405f74d3875..33cc19d752b3 100644 --- a/include/linux/pgtable.h +++ b/include/linux/pgtable.h @@ -1019,10 +1019,7 @@ struct ptdesc { TABLE_MATCH(flags, __page_flags); TABLE_MATCH(compound_head, pt_list); TABLE_MATCH(compound_head, _pt_pad_1); -TABLE_MATCH(pmd_huge_pte, pmd_huge_pte); TABLE_MATCH(mapping, _pt_s390_gaddr); -TABLE_MATCH(pt_mm, pt_mm); -TABLE_MATCH(ptl, ptl); #undef TABLE_MATCH static_assert(sizeof(struct ptdesc) <= sizeof(struct page)); From patchwork Mon Jun 12 21:04:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277363 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 97B08C88CB5 for ; Mon, 12 Jun 2023 21:05:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3312E94001B; Mon, 12 Jun 2023 17:05:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2B8A394000B; Mon, 12 Jun 2023 17:05:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0BD0694001B; Mon, 12 Jun 2023 17:05:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id ED63994000B for ; Mon, 12 Jun 2023 17:05:27 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 97B3940365 for ; Mon, 12 Jun 2023 21:05:27 +0000 (UTC) X-FDA: 80895326694.04.97C47BC Received: from mail-yw1-f174.google.com (mail-yw1-f174.google.com [209.85.128.174]) by imf28.hostedemail.com (Postfix) with ESMTP id BF914C0016 for ; Mon, 12 Jun 2023 21:05:25 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=amnQXBB4; spf=pass (imf28.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.174 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603925; 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=ZOzPn7Z2jtK8/Rr5ywaEqtGlE/ejlN/QX/LQ5us0iZw=; b=pJxKL+DuJwglAwUMZu49+/lv5LFZTJnUB3nXIA8v5QM+m7pVatZDEV8H01mTh5vcF7REF4 lOoUxK+fclRvSd4ES3cZuqQpZIXPuyHBU0pOIz44NJVS5x0TK3NFh9sU5K8O78S6MY5kRj LJxCHFAwem3i5waDRBOn1lHABuqXUfE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603925; a=rsa-sha256; cv=none; b=bpbgBTm5zt45W9NjeynPXuA/HxlRyZoOG/AoIBZupNe7ARMVhdWTRbFWKZJI3BG/hoctJs oU3BVUA5zsEw9iGd+dXq7H9AGaFy98C9/rUh62bx6uc1BJrePMe5muzen/6KCs1/gPYdLd uAeoqzmlvnixDhIfuwubW4wW5cwrkes= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=amnQXBB4; spf=pass (imf28.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.174 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-56cf916aaa2so27690217b3.3 for ; Mon, 12 Jun 2023 14:05:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603925; x=1689195925; 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=ZOzPn7Z2jtK8/Rr5ywaEqtGlE/ejlN/QX/LQ5us0iZw=; b=amnQXBB4tikUqyZuYm66ERDrt0MonFbKGOEZfuTs2nAKMZrZX44zBIkrZ9ZRA+fa06 AyRj50rDxNfHhQPMlo167Gc41a6L1LuDKJ258/2NPg0RLjnehfyC8Q3Sm9AoXuOB8wna AK82U9SCt1rBakvYMiJ/vf5JAUixz4Ru3K2k7WFZarIq7YpCiX1p1YPhbePfgV7HLqZ+ kNFkfK9EfSJ1kUzZet7nsXlMsD1vEo9vMFOs67Cs6PkQ7Z4TWwViMHDRmAjVmKbDbb6h AGLOD6SK7T6AuaFbMvMXKIFXkvVjI92aE3GZuD3T4HWNlPXuHq87MICVALiAwdvuGzfw BW+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603925; x=1689195925; 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=ZOzPn7Z2jtK8/Rr5ywaEqtGlE/ejlN/QX/LQ5us0iZw=; b=dEA/h5DAsD6RvgzKGW31mRDNBYi1eZE5J7aZY5ZZaznUpTQnba59m4MChRCAvpg/im o2aijwuyY/7BE7Epi3ANeYRbu5ng70EKh+JbAnn+yST6ICOmG/gWKTsX/Y+vJocI/Mui Lm8ga49Nk1bAmZL765WI0nSCwjGwZCKOgFJ2Si5VtmcY/Y6ttTdTX8NbhXlVEATUNkvG RPdB2O1pVyDMDqvs4AIV7Q104ojjCsqgpSNQlRf4F4H+9L5JlYckhKeFpTS0fTJ7Cpu5 bgw2rq2BK4hDDdVoIxUBHUm3wgP5D3w6+rGI7PqJ9VSF7I0HVKWMfkZV93NJtDs9RFCc fUug== X-Gm-Message-State: AC+VfDziqh3HvHTq7K4GRiqOm1aB4ArhUgMYILHMB9RjA9loCrKqqcml rS1RiK1VUXVkzpbF7SUJoHA= X-Google-Smtp-Source: ACHHUZ6Cwt/E6dG3WFyoFqOmBAzPgcTMvw0zuz67x28fyF+Rzf5uGkmgtov/aqSyP68nWBC9sA7rZQ== X-Received: by 2002:a81:84ce:0:b0:56d:4f2e:6f83 with SMTP id u197-20020a8184ce000000b0056d4f2e6f83mr1630242ywf.4.1686603924760; Mon, 12 Jun 2023 14:05:24 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:24 -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)" Subject: [PATCH v4 19/34] pgalloc: Convert various functions to use ptdescs Date: Mon, 12 Jun 2023 14:04:08 -0700 Message-Id: <20230612210423.18611-20-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Stat-Signature: tyrpwsxcquobbnkynyc8u6hsm4xxscu8 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: BF914C0016 X-Rspam-User: X-HE-Tag: 1686603925-314790 X-HE-Meta: U2FsdGVkX1/H7zgO24Il+Nt2fmeoPWlthU3SZoisCX4iq8L+WmfQOD6CB8QBUnUsiwW6OpZo/D93/15tz0HGvYn2P66n2fxxzWY7IMu3RlewbyRLqSo1phjYFtwv6PiYbItSNpC3iblUvNZFjnpKrrb5VGBKaHseXACHoMHOxwq3upyHDcF6wyn1nbTOkKqsjmDA2MTX8awnfuicXhO7ycGcaCXnnDY2BFEqcHmSnQ0rcVKAXkz0HXJ7FFoVs0uwuJJ6Q9a1uujIt+hpw28qQO0iZGXHMn+eIBTBW0mjHHUtDK33EGhqYzI6eyPxOLRcD5jCLV2n/+zYB3mqpXf51ylTqqKV8GxScsNlLjFeib2p2Pm2w0CZw5RmnryoVP8SaRM6eKYt7ZV79oNvIuA7p5f605FyWBrBJt71+OBf4j+VkDi6eZFmswRmPJcXUxNY9+ilyFQ4g5nvAvNLurp7EwY424MOUmMBsS+Vvk9IHl9i5nBwVg5LAg+1vqoxOfmIFpRGQM6E0/jvrGSjnZlu8Cm8NtoqlUK9YrxeQ7JyUpy7wQnEd1dp2ArcwdTqcEFTHEKGp6v1E2JshX6eiIZs8fHgHISNRdeyaaSC5vUKGhftakepfBglSqh2L1zpM3gLLrTsGeIT9HaLYCgxn28HmbpVduTVjTk4TkPfG4AzbDhJjRKGKJDm6smdtlBpaVwDauv2KnCCdM/BxKfjd41RXrpwbWoDda55OwVn4qtcoBYjEIPP6vx2KhsbVita9iA+7OmIMsgOMpLV71hZ5/MeOuwd5PGKOAI8SZQsUyYmtRlHtdkrEEcwH178OiY++VcSxfWRab/nWrpAourdMycd5eb9A1OdSjDLODjOJCXIoiN1udlSAU33piF8MK4MUQvKfKbTMrRNmliGyRsOL/qw9ICyR49F+VmDHvL20fyCpNp1FbKhhbz98GGCjwVRRMTaEUxHQjScxfJ2aW+oTq1 235ZH2Wx 5x0j6475WPvHBJ44iNUFAAMxya2UO0Qfc/sPsOvJOjWOELYeDsG66dPxX/68plq1Jx71AdylCe0vgueHeRz2pYY3iJ0o4soZWIAsHBR1VvJ4AiGL0eCVADyVTIVMsg7k/W3F7g7wK6h88r9gj1jclk6+GvBV9MLk7pwK9fW3LrEMGsctsC66tQGk4VgEs/trUikSi1cYWNmwkHQcMI+nC+FIDehdkVlxjhBBystRmUuYP/Effk/9UrDqhf6PRab2hMINXwnxc4b+8ubapKVNL3WZM0j0XcIx2SqV3LNK2ikcEElNpfLR0brtRrk3unqLa+3wFWiFalpXqDpAtZZ5Adk7ujpBwuSI9nhnxBydPbcsj32ON9RngjtwYZZE3fY50xd0oTXD4npUZSWYuGvo9XvVr7vUvfvPDJia6eI4svW3ep6JQP287RteAT+G3242qOi05d26URYdrjXeLt49QyBet2b8b4nl8QG2GG6P4nJMvjNnBKynhBfxUR7ZPjgMcV0piA7teAILs8kdjN+oFCXaECw== 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) --- include/asm-generic/pgalloc.h | 62 +++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/include/asm-generic/pgalloc.h b/include/asm-generic/pgalloc.h index a7cf825befae..3fd6ce79e654 100644 --- a/include/asm-generic/pgalloc.h +++ b/include/asm-generic/pgalloc.h @@ -18,7 +18,11 @@ */ static inline pte_t *__pte_alloc_one_kernel(struct mm_struct *mm) { - return (pte_t *)__get_free_page(GFP_PGTABLE_KERNEL); + struct ptdesc *ptdesc = pagetable_alloc(GFP_PGTABLE_KERNEL, 0); + + if (!ptdesc) + return NULL; + return ptdesc_address(ptdesc); } #ifndef __HAVE_ARCH_PTE_ALLOC_ONE_KERNEL @@ -41,7 +45,7 @@ static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm) */ static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) { - free_page((unsigned long)pte); + pagetable_free(virt_to_ptdesc(pte)); } /** @@ -49,7 +53,7 @@ static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) * @mm: the mm_struct of the current context * @gfp: GFP flags to use for the allocation * - * Allocates a page and runs the pgtable_pte_page_ctor(). + * Allocates a ptdesc and runs the pagetable_pte_ctor(). * * This function is intended for architectures that need * anything beyond simple page allocation or must have custom GFP flags. @@ -58,17 +62,17 @@ static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) */ static inline pgtable_t __pte_alloc_one(struct mm_struct *mm, gfp_t gfp) { - struct page *pte; + struct ptdesc *ptdesc; - pte = alloc_page(gfp); - if (!pte) + ptdesc = pagetable_alloc(gfp, 0); + if (!ptdesc) return NULL; - if (!pgtable_pte_page_ctor(pte)) { - __free_page(pte); + if (!pagetable_pte_ctor(ptdesc)) { + pagetable_free(ptdesc); return NULL; } - return pte; + return ptdesc_page(ptdesc); } #ifndef __HAVE_ARCH_PTE_ALLOC_ONE @@ -76,7 +80,7 @@ static inline pgtable_t __pte_alloc_one(struct mm_struct *mm, gfp_t gfp) * pte_alloc_one - allocate a page for PTE-level user page table * @mm: the mm_struct of the current context * - * Allocates a page and runs the pgtable_pte_page_ctor(). + * Allocates a ptdesc and runs the pagetable_pte_ctor(). * * Return: `struct page` initialized as page table or %NULL on error */ @@ -98,8 +102,10 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm) */ static inline void pte_free(struct mm_struct *mm, struct page *pte_page) { - pgtable_pte_page_dtor(pte_page); - __free_page(pte_page); + struct ptdesc *ptdesc = page_ptdesc(pte_page); + + pagetable_pte_dtor(ptdesc); + pagetable_free(ptdesc); } @@ -110,7 +116,7 @@ static inline void pte_free(struct mm_struct *mm, struct page *pte_page) * pmd_alloc_one - allocate a page for PMD-level page table * @mm: the mm_struct of the current context * - * Allocates a page and runs the pgtable_pmd_page_ctor(). + * Allocates a ptdesc and runs the pagetable_pmd_ctor(). * Allocations use %GFP_PGTABLE_USER in user context and * %GFP_PGTABLE_KERNEL in kernel context. * @@ -118,28 +124,30 @@ static inline void pte_free(struct mm_struct *mm, struct page *pte_page) */ static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long addr) { - struct page *page; + struct ptdesc *ptdesc; gfp_t gfp = GFP_PGTABLE_USER; if (mm == &init_mm) gfp = GFP_PGTABLE_KERNEL; - page = alloc_page(gfp); - if (!page) + ptdesc = pagetable_alloc(gfp, 0); + if (!ptdesc) return NULL; - if (!pgtable_pmd_page_ctor(page)) { - __free_page(page); + if (!pagetable_pmd_ctor(ptdesc)) { + pagetable_free(ptdesc); return NULL; } - return (pmd_t *)page_address(page); + return ptdesc_address(ptdesc); } #endif #ifndef __HAVE_ARCH_PMD_FREE static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) { + struct ptdesc *ptdesc = virt_to_ptdesc(pmd); + BUG_ON((unsigned long)pmd & (PAGE_SIZE-1)); - pgtable_pmd_page_dtor(virt_to_page(pmd)); - free_page((unsigned long)pmd); + pagetable_pmd_dtor(ptdesc); + pagetable_free(ptdesc); } #endif @@ -149,11 +157,15 @@ static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) static inline pud_t *__pud_alloc_one(struct mm_struct *mm, unsigned long addr) { - gfp_t gfp = GFP_PGTABLE_USER; + gfp_t gfp = GFP_PGTABLE_USER | __GFP_ZERO; + struct ptdesc *ptdesc; if (mm == &init_mm) gfp = GFP_PGTABLE_KERNEL; - return (pud_t *)get_zeroed_page(gfp); + ptdesc = pagetable_alloc(gfp, 0); + if (!ptdesc) + return NULL; + return ptdesc_address(ptdesc); } #ifndef __HAVE_ARCH_PUD_ALLOC_ONE @@ -175,7 +187,7 @@ static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long addr) static inline void __pud_free(struct mm_struct *mm, pud_t *pud) { BUG_ON((unsigned long)pud & (PAGE_SIZE-1)); - free_page((unsigned long)pud); + pagetable_free(virt_to_ptdesc(pud)); } #ifndef __HAVE_ARCH_PUD_FREE @@ -190,7 +202,7 @@ static inline void pud_free(struct mm_struct *mm, pud_t *pud) #ifndef __HAVE_ARCH_PGD_FREE static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) { - free_page((unsigned long)pgd); + pagetable_free(virt_to_ptdesc(pgd)); } #endif From patchwork Mon Jun 12 21:04:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277364 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 E3B74C88CB9 for ; Mon, 12 Jun 2023 21:05:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2E29794001C; Mon, 12 Jun 2023 17:05:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2940094000B; Mon, 12 Jun 2023 17:05:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0BF9B94001C; Mon, 12 Jun 2023 17:05:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id F21C394000B for ; Mon, 12 Jun 2023 17:05:29 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id C1BED14031A for ; Mon, 12 Jun 2023 21:05:29 +0000 (UTC) X-FDA: 80895326778.14.DB704BE Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com [209.85.128.177]) by imf30.hostedemail.com (Postfix) with ESMTP id EB2AB80015 for ; Mon, 12 Jun 2023 21:05:27 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=YRMhLn8G; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.177 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=1686603928; 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=llblHDjuRzdwObovgJjTe//ioNSPoyRpZegKgEWGdOs=; b=pGA3OBD4uNO1gQn57BKFD5ZuvVBNjE4TQvdZS9ScgZXw37PEj7q4fqwFPvXjX7hSRkqoqf eiivP9AcFeh4Q0XhV/WkajmlCdzTn9CeiHa9AABPgFdHhjO5L1X0oz0tRqhP8J+yI8YZ6Y Ysug6I1EQT/8g+I8hUPiA1cdDMkv5cM= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=YRMhLn8G; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.177 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603928; a=rsa-sha256; cv=none; b=THS7+w9Rl4JKpsa1C1VzQsTQiyDNhB91o2OdZB7gdx9NOB0ktbG0DOsLO30Gd+dLdYTwSe B9URxhYqjpKJcMKuz+G2v13XVTP3IEVqqI2TNVI/RbR1na/yxKyWOKLsINjSuqMPUKQqk7 nMajF0mx2v1h4yK/Uybn/lDBaXjnyVI= Received: by mail-yw1-f177.google.com with SMTP id 00721157ae682-56ce88ee294so19028067b3.0 for ; Mon, 12 Jun 2023 14:05:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603927; x=1689195927; 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=llblHDjuRzdwObovgJjTe//ioNSPoyRpZegKgEWGdOs=; b=YRMhLn8GgjXKF9eS1CkYK8/hVT9gPYz37UeBHSWCXWxsEKTB0xKNbO9xfoQxJLGBci pUYRlNAXxGNIort4RFvyqFoVkx12q+4R5GQ2T6iKcv07wKy7zihyGs6NzbSMSMCL6Rs5 mHPuU0pXtsap85DxLGrKUtMBDvnEahRHLKEvKQOX7bhc/KG8s8E1jIJIjYHBV6Mzo8Tw JyoVIgOoI3Qu3/9ICO4yd0mqp02BwnCK/YCnIHcpYzONCtiWYcoEWw9YCE5wOdJRn8uB XPcLMuecwthMMTL6YQJ8OIdeoFxd5Ul+5c4RpJemAGRzK0WgBz8keleyqJxUgTeZRruD CsNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603927; x=1689195927; 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=llblHDjuRzdwObovgJjTe//ioNSPoyRpZegKgEWGdOs=; b=gmRhOGnukchnfstoQ3FFILtTQMQTqShi7cQPyQktmHaoRaBtn3mLS/Bq4MWlsrlNz0 5s8YaYlpuJEunjjd8mX6iWH1FrJXFFo4SbvaCzQ9QrUPP8siWE1SE4DPYwgoaB4FEAeJ D+d2nE7nG/018gI31QCJIMx7P+ZvoRKEsQpDcBFxJpfgdb07wlNajoHBn/wA+hjUbMLm 64Ne9FS4ug/j/cnByA4h1BT93NKv+kIZEC4ms+ksp9vrzfAqHBr1PNBGSNmelzrxmdIL 3yGhH5H1vge12ResxZgFYId6g0W5OoOo94duHgarQaygX2SivLDKgPm66EB8tHlh+QSM Ra6w== X-Gm-Message-State: AC+VfDzBnnRNo+DsGtYMG+5abqWtTYHN+qCNuSXSUzruWlZbjVABZ4xx 6PJ+N98Ej8ObuG0jx9qwbHs= X-Google-Smtp-Source: ACHHUZ4ft3mDxgWWbZVZ6VtJGRUVYiTphgdB2NgQzT9U5dEGnrQumf24dtXrB3QCjAsLfMmACVzxzw== X-Received: by 2002:a81:6d07:0:b0:56d:29a1:c1c3 with SMTP id i7-20020a816d07000000b0056d29a1c1c3mr3804535ywc.24.1686603926795; Mon, 12 Jun 2023 14:05:26 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:26 -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)" , Catalin Marinas Subject: [PATCH v4 20/34] arm: Convert various functions to use ptdescs Date: Mon, 12 Jun 2023 14:04:09 -0700 Message-Id: <20230612210423.18611-21-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: EB2AB80015 X-Stat-Signature: ezbx1puszf356j6hswisftqjdbzxmjiz X-Rspam-User: X-HE-Tag: 1686603927-29742 X-HE-Meta: U2FsdGVkX18PkjNK2k3MPidw6OUW0p3dplF0GtpGSNfuBDZIldcXp3lDV6FiyjzIq1sWQti7Z6xkWbN/xk9DGdrdTyw7Im7/nE5j7ouYIkJwTqDQfov8HekGx7PKUWgw1VyQui0heuocT/kRlZkZITfFEyrRHkxvrgALYyRPYAAZHMTuD5ckGWkImVlxCFdgSnit/2mGMzzEq6KRPf6mHAwIjJQrJIl/S8maUL0gn84GwiFK1zkCJWv9ddIsMbLa8TlIyQ5Rffyfg2VkdeHfhs6siFdzbACOuIC31FpDPVE3PRm7txTo1/Xn64yyxsVMwH5Th6KQg7ayo0n+lLNbMhrWTv6f00MC7pAszYQHVZGxmQoZrszC5GYbKbh46Qv627s64nfuv8evPT3OXsFdJHChzV3ACEf02YgrJXlBwmxxEX6XeGkpizRFmel900fp77dT8nrHbsUG/Z/wpaA6zGpEXGbta5q6ZbwA3MtNnSOdlh6Tl9F4KoRml/50ErBjrqhSl3VbqEqU2J7cfgsM2W+o4bhKQsK6mXXS0jiVnXe0V8fdJye4hTv+JXryq0ktLElCKpngzzvsg0U3yaRdGKdR7Xo+YzW1CK4hSTWRKAMp/prnLpHYIOrr5KWYo5PbiiPGiEtrWn0GIpEbrz035CXYZGAqAmpmz4cAOMbHapyiLKRsUFSQd/EyXQ09L4FyrpA1S4QN0NJq8V86ClW/1Wiq9MSN0AoZELQ3u5EDOSSaeY4sfQCXkkSMBabxIcnONh+Uab02JnaMFhEP3um2bnx+5voR32gJxdj+USUSoSpw6g+0mOLL590XpC+oteH0cS2ocCLI/Y6dH/qFRuPRDBr/tPJaw1JpMWhbiZFWNpDdoQ5zAUGVFnmF2gCy2Sm6ohUd4+N4tKiytT2U7eZymHDjM3CQkEWh1qwGPRYVibPSxLkyPqYPY5Bv2+EacJDwfj4/4rS4An7iIFVYRzb Cz8gBfLe BieInhDIPufqzEx8LPKmQRQNQOK8W1JMIb9B/LvOykD0HqQAmj5euyEByQq1RwHEHi2vH/lpd4vhKLousBVBnSx7P83nqwZ5nl+r9gD1BcKF4t5hlVt5PCvqdF+uyGfL8XTvBQastw/nTZIQG7RXfE+XgUdLVS3IVhNWMF7VaQuPffU9RtGEo3rur0K8iDtciQlpSp19obFANrFgDc48swCM2Vfnfj53GI9L0aMs7CM+O1bAZPhddjWAPJp4zirMlrtAXoP1QelBTLlWGmso+CtcZdiUR2Uu7z5qrtPcSU5dwqDXMsZIZlrHnOg5gwHZlyytErBqwH+MXm/Bg0M82X+PzT5OCDHcT1R0N0arlAvVU/IqnVZRUpIV3NH6l2j+4+7FM2SHw3YbLgVz6uo+3jVd8GssCoyo0CxWDmvhJphptKSiaaOW1nqsBDYfBZssFu0iiJYFhHyyNvBQ5ebJX14xBGI/4V783kKvKJHpx7wPJogkVZBlk5KOLX8G3AtwqkOWWWNIu14uu5C21jYhNE3q9kg== 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. late_alloc() also uses the __get_free_pages() helper function. Convert this to use pagetable_alloc() and ptdesc_address() instead to help standardize page tables further. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- arch/arm/include/asm/tlb.h | 12 +++++++----- arch/arm/mm/mmu.c | 6 +++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/arch/arm/include/asm/tlb.h b/arch/arm/include/asm/tlb.h index b8cbe03ad260..f40d06ad5d2a 100644 --- a/arch/arm/include/asm/tlb.h +++ b/arch/arm/include/asm/tlb.h @@ -39,7 +39,9 @@ static inline void __tlb_remove_table(void *_table) static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long addr) { - pgtable_pte_page_dtor(pte); + struct ptdesc *ptdesc = page_ptdesc(pte); + + pagetable_pte_dtor(ptdesc); #ifndef CONFIG_ARM_LPAE /* @@ -50,17 +52,17 @@ __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long addr) __tlb_adjust_range(tlb, addr - PAGE_SIZE, 2 * PAGE_SIZE); #endif - tlb_remove_table(tlb, pte); + tlb_remove_ptdesc(tlb, ptdesc); } static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp, unsigned long addr) { #ifdef CONFIG_ARM_LPAE - struct page *page = virt_to_page(pmdp); + struct ptdesc *ptdesc = virt_to_ptdesc(pmdp); - pgtable_pmd_page_dtor(page); - tlb_remove_table(tlb, page); + pagetable_pmd_dtor(ptdesc); + tlb_remove_ptdesc(tlb, ptdesc); #endif } diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index 22292cf3381c..294518fd0240 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c @@ -737,11 +737,11 @@ static void __init *early_alloc(unsigned long sz) static void *__init late_alloc(unsigned long sz) { - void *ptr = (void *)__get_free_pages(GFP_PGTABLE_KERNEL, get_order(sz)); + void *ptdesc = pagetable_alloc(GFP_PGTABLE_KERNEL, get_order(sz)); - if (!ptr || !pgtable_pte_page_ctor(virt_to_page(ptr))) + if (!ptdesc || !pagetable_pte_ctor(ptdesc)) BUG(); - return ptr; + return ptdesc; } static pte_t * __init arm_pte_alloc(pmd_t *pmd, unsigned long addr, From patchwork Mon Jun 12 21:04:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277365 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 ADEA9C7EE2F for ; Mon, 12 Jun 2023 21:05:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 15CCD8E000B; Mon, 12 Jun 2023 17:05:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0E9F58E000A; Mon, 12 Jun 2023 17:05:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E03EA8E000B; Mon, 12 Jun 2023 17:05:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id CF9008E000A for ; Mon, 12 Jun 2023 17:05:31 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 9F394160348 for ; Mon, 12 Jun 2023 21:05:31 +0000 (UTC) X-FDA: 80895326862.25.565F62D Received: from mail-yw1-f171.google.com (mail-yw1-f171.google.com [209.85.128.171]) by imf16.hostedemail.com (Postfix) with ESMTP id C0C0F180020 for ; Mon, 12 Jun 2023 21:05:29 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=skq9VJH5; spf=pass (imf16.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.171 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603929; 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=zsW7mi3+X2fEN/3x0Bi+dafPb2wVjOjUR4AWbTKXMQ0=; b=FEEukirijdw0FNvvZSSUlIkKxF1gIJz2fj2rF3uT9QQT3tQhOVqXQTXRV9JHr1D/BN0nVG 5Wy3IHfckRR4aUuWZ47oF9e1K33/TNsxlBobXImZsUgOlEpoTySOsLhNClF4dyugtv3/yL YoNBp4fthIQzZl1JzZgKJR7WWDb+c3I= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=skq9VJH5; spf=pass (imf16.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.171 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603929; a=rsa-sha256; cv=none; b=RcgaZtu7cZhwoDnACg2+yWOFnXQzeB+QN2Xfdl/rCpY4blPDiNlBbYOz2qJ9oO7KhAhLBE 19egDZM+/oo5plSdxkzCFWja5Bgl/9q1VJiT73Xl1fXGXWfNNedaO30zGC8wXcY6Z9Ju78 5pEZUPK/jqh9DWJLjWCuStk3H48EdRw= Received: by mail-yw1-f171.google.com with SMTP id 00721157ae682-56cfce8862aso26680307b3.1 for ; Mon, 12 Jun 2023 14:05:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603929; x=1689195929; 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=zsW7mi3+X2fEN/3x0Bi+dafPb2wVjOjUR4AWbTKXMQ0=; b=skq9VJH5dgJqddGwdVt6QPnDFnHLuDHmOdJ+p0cfKrjwcpANWfXjFtOnE+ShUVF4Wp +eZ1oAi7jnx0p4XZ2vlWf2HsUPHPywHFWTLkyBo2gHsKrZMxdedqFJMYHcQirASjKLsR SHXXWS83xBIee1HeZ900C52L0cf1hZAGJBgTBGRkI/olW2eHqyg1aEFYABUX/cDGInxY qBm8udoAWKxdlfWi3VICLCjFw6K8a8OX+rJWjNQ1/2hLUrj/oVGI32qhAulpQwwr+kGa Lu8zhuAzxz28DDQDJR/r5ap4yvwSJYAPMD0veq5+nFM3RaL/7sjJCqWPanMB6gD1jpVC DRIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603929; x=1689195929; 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=zsW7mi3+X2fEN/3x0Bi+dafPb2wVjOjUR4AWbTKXMQ0=; b=fYTv9u/HkiegHIT+MsTaQidiZMoBkxZyRWRZMTkGcdrlAik05SnoEcFOGHQEEtn6ok zuugntI8bPcwEpNIzZbbZisEVVL/UZPjU3viTpY4dmHzLZEhsFt8evix/NQrV+2WK7vs 0S7pI0aJsKG6OTXm2dT6g2sjK+UzZxbmFQO4/39mPTi524g0fGkCAJq8/Mo+hcdZxyMo /X9AEtNiS1+VpQbc7KgTMuS20PQmmMW9cv5fduQq+vm+KjVttoc1q+pXRCAac++8dBRX McW+cml59jN8Se63nvBi0qDLmW5s834y6JfQdI+3U5p8i3wEXcEAGsbvKbG6sif+wZyA dOLQ== X-Gm-Message-State: AC+VfDx1XCAfWub5vQrZl8DMZv5DPuZwzXOis5CSCmy5i/V1sx4NB2Qn 4g57l7A2MNuTp2fDdSDkUvc= X-Google-Smtp-Source: ACHHUZ6YXnFai1+oazoURBIRxVN/vSubE3IHa08ab+S6MI7hbnWKgAk8qpadPRjUwPnUDYOPSto+cQ== X-Received: by 2002:a0d:eb8d:0:b0:56c:e54b:b4b8 with SMTP id u135-20020a0deb8d000000b0056ce54bb4b8mr8864333ywe.28.1686603928796; Mon, 12 Jun 2023 14:05:28 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:28 -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)" , Catalin Marinas Subject: [PATCH v4 21/34] arm64: Convert various functions to use ptdescs Date: Mon, 12 Jun 2023 14:04:10 -0700 Message-Id: <20230612210423.18611-22-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: C0C0F180020 X-Rspam-User: X-Stat-Signature: j4t7bm6rybi4zqzojqkegcdcd4o898dq X-Rspamd-Server: rspam01 X-HE-Tag: 1686603929-285728 X-HE-Meta: U2FsdGVkX1/l30bs/y80+jEC5VcCaeAEte9b4K4+M9lkzGpn1fObzdMLU1zQFHWVdEYuNBZ03uFEF6MvpxQEQtcNoWdr292na9NMeG4RV5Rq9OFYTY1iPbqeNSqtRLglvTOIOpS+wvHI4ZF2i8U9ocoAFi55hvBqvpReiQDC2vYLUSJbhidycSbGo7UUQaTtc5uW53fu08BRBpx4s9dt5cNrFx8TXW0MK4vEUCWFs3ycXrQytq81cAn4nSf8fIQQx84f/pwa/yF/zMRe7iR/eFJeBlKGy3LL5JCAztPm+mqj9T/45Z9CmdmyeboVgOv5+xAnAv20aopTgs6J3YmKrG6errTNerlNdA4O7+fnYP+mYKlyiwNuSkB/o3P5fIDI+k4oFeBePblygXPcn6hjrZ2DUxaoWY5PcKn5tvAauEpb6Sk0sd3nsy/Tn78+tseZj71+ElYC29YgyI5kiqN/8AqLH7AOOERWsP3vaSj6wYLz62N4CMPR/cNaqr+z+W9/ZPoGS5tMUT2MflKJuRYFu0RHap/+irHSAmBBydVb/2y+VT3DZqWjFkiYDn7Z6I9WIvbdkl88wc+RSxuA/0vTeqmA8wa2G2PfjelMhaoigVzqYGNMDoo5NUuZxfOLFTMEfht0FjhY2mIh98PvjlGXSIFRQQjsFlW81+Mu/Xoss86jSqn47zIhmCzUpYFdzcuMWTKc4mwDJL744oNT8/yel2Sa8FpD2gob23tFKhIJC7CfKfX3xLEI0xp8mMwKA7xwIDq6LEerq3RqmAVuaD9nsWtq4nHJNq3Zq30WfBzfItyWgkfZ2fSgtpDCf0vT0SPUppvGXubZVbAzA2lvxFGmNIEOT5rGW3Pf9KbEiDfvxUA6tn5GhPoJysfQ0Fa+bj1gEwQ2wIT6TZCXOtYG6E47NOns+qLVTZFmFFNqencF5csYmBTXKDj7BiDQOR1VmhKp6K8sjCVLes+jlX6cCJ0 ed2oFnMh uoWcwY4cb/UCt9Qd5o2BtJHOLaz5RAMSi57nWWhGrq0UhDILzMaJSbilPTJPMbNQabhUf2QnAYAqZE5jmDIumzopZ3i7aWuEgp2dEY4MS0gfMEu/fx9XAr39ApCQ3vW2rMxWDGApjm/PZ2DNq0cgeL4uhUp2g4mdiJKperOY7FH5Pwg8wIR6UAui0wRqoe99IpTC2enqZRbYiUzes20vpZArgAH+UJRNDwGssFBJ0umoRFOmulp7dYmQwXzLFtD4f3ZhmmZHNJhKdRutRtJIyjSDFTL11NZKb8bmCD4uoTQ+H0OGycXbcTNwAbvgz7SHW5GYItISxRR8es1+vYtA6KjjBtayh2RzcvQemU2n+vbouxU+Tdgi3OwYC6lOHzs47X2mnLb7A/uXk2GEqMKTi4dxjQ0buON4l2AlA2cbGfPSgiimkmqJurw9L0XOrlx3KfjjrPtteY/fWWZcPoMhyT5bPR+V15gzSg3/9NbO5ghkzLbsSbmd5HK+1ovPih7Ploc8t2utgwrduwUPvZCCfmQSFuw== 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. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) Acked-by: Catalin Marinas --- arch/arm64/include/asm/tlb.h | 14 ++++++++------ arch/arm64/mm/mmu.c | 7 ++++--- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/arch/arm64/include/asm/tlb.h b/arch/arm64/include/asm/tlb.h index c995d1f4594f..2c29239d05c3 100644 --- a/arch/arm64/include/asm/tlb.h +++ b/arch/arm64/include/asm/tlb.h @@ -75,18 +75,20 @@ static inline void tlb_flush(struct mmu_gather *tlb) static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long addr) { - pgtable_pte_page_dtor(pte); - tlb_remove_table(tlb, pte); + struct ptdesc *ptdesc = page_ptdesc(pte); + + pagetable_pte_dtor(ptdesc); + tlb_remove_ptdesc(tlb, ptdesc); } #if CONFIG_PGTABLE_LEVELS > 2 static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp, unsigned long addr) { - struct page *page = virt_to_page(pmdp); + struct ptdesc *ptdesc = virt_to_ptdesc(pmdp); - pgtable_pmd_page_dtor(page); - tlb_remove_table(tlb, page); + pagetable_pmd_dtor(ptdesc); + tlb_remove_ptdesc(tlb, ptdesc); } #endif @@ -94,7 +96,7 @@ static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp, static inline void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pudp, unsigned long addr) { - tlb_remove_table(tlb, virt_to_page(pudp)); + tlb_remove_ptdesc(tlb, virt_to_ptdesc(pudp)); } #endif diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c index af6bc8403ee4..5867a0e917b9 100644 --- a/arch/arm64/mm/mmu.c +++ b/arch/arm64/mm/mmu.c @@ -426,6 +426,7 @@ static phys_addr_t __pgd_pgtable_alloc(int shift) static phys_addr_t pgd_pgtable_alloc(int shift) { phys_addr_t pa = __pgd_pgtable_alloc(shift); + struct ptdesc *ptdesc = page_ptdesc(phys_to_page(pa)); /* * Call proper page table ctor in case later we need to @@ -433,12 +434,12 @@ static phys_addr_t pgd_pgtable_alloc(int shift) * this pre-allocated page table. * * We don't select ARCH_ENABLE_SPLIT_PMD_PTLOCK if pmd is - * folded, and if so pgtable_pmd_page_ctor() becomes nop. + * folded, and if so pagetable_pte_ctor() becomes nop. */ if (shift == PAGE_SHIFT) - BUG_ON(!pgtable_pte_page_ctor(phys_to_page(pa))); + BUG_ON(!pagetable_pte_ctor(ptdesc)); else if (shift == PMD_SHIFT) - BUG_ON(!pgtable_pmd_page_ctor(phys_to_page(pa))); + BUG_ON(!pagetable_pmd_ctor(ptdesc)); return pa; } From patchwork Mon Jun 12 21:04:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277366 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 9A308C88CB2 for ; Mon, 12 Jun 2023 21:05:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 63C7B94000B; Mon, 12 Jun 2023 17:05:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5A1238E000A; Mon, 12 Jun 2023 17:05:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 418CE94000B; Mon, 12 Jun 2023 17:05:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 2D7BA8E000A for ; Mon, 12 Jun 2023 17:05:34 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id DC7AE1C7C4B for ; Mon, 12 Jun 2023 21:05:33 +0000 (UTC) X-FDA: 80895326946.10.5EFD23B Received: from mail-oi1-f175.google.com (mail-oi1-f175.google.com [209.85.167.175]) by imf03.hostedemail.com (Postfix) with ESMTP id DEAE020007 for ; Mon, 12 Jun 2023 21:05:31 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Hs3OvBwx; spf=pass (imf03.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.167.175 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603931; 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=SFY2ToTc/KdsqBsJRwbv8KRLKHn/LK4ImlbTce4a9J0=; b=WoO0yp+0fd1/E/yORXzWF6sL00nn2w4SBXw85BUVhH2JE4OzcUAy7msdtm+fqDVV/ql2x6 TF3KEJvOrJH/gPq1GzCC99i7uINmYsnUOhuCxz2WgeIpZbck2WGM38RrhcD7BERvO+1Rcm TekQ2WKY6Brw4f+5bqH15pvUwK/80A8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603931; a=rsa-sha256; cv=none; b=S5IDD72majZJex9EDpyflQUQOhw8FJ/q4P9xhpaX7q/Q9KOFyqUIFxN/a1nXliTkx+kqEt +RnlHeHnAxsEzvjkCoJmmvf2uVpmq9eRcBK4y+ZKX4zTIrUdgRwAjuCjzkVeFgDti/7UjN cLxU0ZWHCTN2sp9gIt8gBN6s8mt0Kmk= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Hs3OvBwx; spf=pass (imf03.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.167.175 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-oi1-f175.google.com with SMTP id 5614622812f47-38ede2e0e69so2825604b6e.2 for ; Mon, 12 Jun 2023 14:05:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603931; x=1689195931; 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=SFY2ToTc/KdsqBsJRwbv8KRLKHn/LK4ImlbTce4a9J0=; b=Hs3OvBwxjNbzyixj7aSD+NgtYC45wE004i2+DhLM32gwxSgyME8uf0ehUc+DFmEBWc xTMw6H3P+HY7Tq7UuCfgFLKB1x+LkNTK02YDaXYWD1PeR9EEokleZ/wyxNBXTFWH/El9 c1bXL1i+QVcFD32llcBXIuwFJs/8j8fBCHPhcoBGFcfEu/JCwezOfmF0Yorw8OxgwAQW Ostw6KM5t1cwURmpaD0hTGMu4TC4wHA6I1gDTQyjBc+K/xsxhtlIAUhVsIG12sG34SnA HCLguPK5bJjFlDAoWGoj4Zr1Q8mKdxu4vSYAJa+HTJDnQnTisEOZH/pEJVvGvXlWVYbR pDDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603931; x=1689195931; 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=SFY2ToTc/KdsqBsJRwbv8KRLKHn/LK4ImlbTce4a9J0=; b=KodRTc8LJOvTFyZwOeN41U8jIjdMZQe2hnYsYzeWMlE/z6AM7Zijv62uAejof2ZxXl Sa5s3G3S4TqLoWpIW4jBfR1u/AmX3ql12dxUyWKcYZzESBUwgYOLjQrlflB6PSgEXvZD gOl3/mAHBxActWi3HmRMmWM2F5r6KoFux2aywS3vs8+KXoy6JlqIbFqlufaFnUJEKsh2 kNxLfabkecHjuCVm17qTCEt3kIit1Cl+gRQV4FtuPhBsSyEAVjd9q63XiGhjocueNVl6 yTPpBPtR47eBP5hWy/YOBuqtyn+QNxa2QqWC3uRWYMtU5j+MZe2YcQ/ZKyhkQNmYWYXe 70Eg== X-Gm-Message-State: AC+VfDzhwTCR5ZTRcDZC5Xfw7EDI5vgxBF7FI3Ohq1FxOTxqwplgMjn3 b+gVAtEZ89tWwDJShYWKCZs= X-Google-Smtp-Source: ACHHUZ6j3CfgAuZNFN9JISmvDm/MlbHYE4sRUTkol2XKHwfWtbEYLS5pSkDxzuxqJ+njTa+59MBJKg== X-Received: by 2002:a05:6358:1a8a:b0:129:bddf:7960 with SMTP id gm10-20020a0563581a8a00b00129bddf7960mr4783450rwb.16.1686603930823; Mon, 12 Jun 2023 14:05:30 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:30 -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)" , Guo Ren Subject: [PATCH v4 22/34] csky: Convert __pte_free_tlb() to use ptdescs Date: Mon, 12 Jun 2023 14:04:11 -0700 Message-Id: <20230612210423.18611-23-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: DEAE020007 X-Rspam-User: X-Stat-Signature: qyemrcnehn9ctprwm9xuh8pq3k13a78s X-Rspamd-Server: rspam03 X-HE-Tag: 1686603931-935260 X-HE-Meta: U2FsdGVkX1/TlYjGjQU0HUA21hjn0/i0MpJkOwsDKQELf8pdvfMdekKIzjVx/1hSiVk1MdqJ3hMpQ8N6KiSU++jgZ/iJX3Gwn/uuy9UvRaBsFuL3DBpsoBOPzDLD+yxjoyziJ7KzqjWMipTqjo7+fKwp/C/74/IuGZF8lGIXNfmnQtoeGTVnEzP5fbawCPRD4tGymLpqFEZUftr7J1m3Qt4p4uenEACHotHYYLBMe3GiR7jj9xu8EFpbPEuUFjX3tY9HcdYBAdKViTuPU1S2byTLWrnY55aW7QnbSrh8sSw3YpDEFHiRGbqByVV82DfG4AEqC6no79PexBS9oTvlQZCDqR/+0oIztNoERUo8CV7rIfRVgGi5XMyrhnMhmUKkf5qCAxozjwde4npChG1nft70Gnm7sijaXPrlMmtBn8U5ofAmF801hCb3yOE56Ubn4Uhh/tx/R0OiTxvpq+PdO66DDECcMpaNovNRj0TG9/IR5N9xUTLeW/B/SD5t+5baTwp8YX7SCSqnIZHhwqCw8E70McGgWRrdpTmAU9F/wJui3kOAM4cAT0Z3gfsLettsUarSK8OQahFEFRHbtkfDcIq99PvqEPCgBd2wviZApYWYJFkiKoJuM6mU1FNqUu157zbXcpi4eVfZH9VGee/dbaOe+tOtPYIdmZ3mVBw3pJSREED3W0mDEnCCAOTNHWgoixUgotxcUyZWA6K8tFh7Q4keJ0QGMV1bzGZbnvrb1Rbsf4i1EAD51Dbn9YNMeWRM8GAv2BEl1umG7coZZC5skKsur3jYCPEFRzqrsiEhA4gkefQTSLqi/Fr2/QrUmRmjObG9QE9qOjEDnLJNNpubpz+JHLnmo/HPYFUr6WCk2OQ5JCtqaSTLLLWUuIoJpGh+k5y7qfB2ZJOeZi9zYfcu5udrKY0Yzzgq2Z4Yzo0o4aWM2jymkKr9vNMYx0ozNNL/7oVmz15G8WU20DMQcbq vxvqAiUc 5ojpkfTQtxl3CgI6yfN85P9VhnrxPv8jj0Fmb7xJ08NrjLGO//PNIae0WAa00rkEqC3DD/oMD+x7KGloPBR66Kxsz0Kv0kY4FikF9nfUnX4iNl0anWMZb4+NQ6VCz0WfYxSn6Bzg6GQfcFmDn1zZh1YWK+7Z7W17ir9XcKxEF79mDiNknnuC4wRp26UhWcGoqCidgW2vFpJlq5LBMt1RXs5deBMzbCi42J2/N8FxdCnwABPduoAvIuJRWRoIDD+uV2FUSFBtwtXumh7TQRNW9smBRsgRdDXHrLrVOva+WGhDDue+Mw3K7RYK6ftxMRDi+n/kewEpU/lTN7PL3Ki8x5Z0bymIV0uzgWWcae2TWUa5jqchfFGNeLOGD6YkYyQRhFvS8BhqWC7DC0JkvNg3bIzsCAD8Xj2Htqeto8hBk03nk02PGkCjTKMYlwPJXBdUFIoJUEJHMVT21KjCuByvo1nBdZk4uVTL+1w2toiNv3XO37cgTQFZtwcdC80r9GgqG5Pdc6GlYeLWeJgLq4KTzKhf2c/uegkwAEVQgSevSzsxzefAhBVJ/7AfomTl79+jBTxKOi6bbpIMrknYdSbYvc64V8LIOVuvTceo7D/5K8MbjGRcj3jdfOjZEF7fHEd9tUeF2+4BShvb+FA0= 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: Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) Acked-by: Guo Ren Acked-by: Mike Rapoport (IBM) --- arch/csky/include/asm/pgalloc.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/csky/include/asm/pgalloc.h b/arch/csky/include/asm/pgalloc.h index 7d57e5da0914..9c84c9012e53 100644 --- a/arch/csky/include/asm/pgalloc.h +++ b/arch/csky/include/asm/pgalloc.h @@ -63,8 +63,8 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm) #define __pte_free_tlb(tlb, pte, address) \ do { \ - pgtable_pte_page_dtor(pte); \ - tlb_remove_page(tlb, pte); \ + pagetable_pte_dtor(page_ptdesc(pte)); \ + tlb_remove_page_ptdesc(tlb, page_ptdesc(pte)); \ } while (0) extern void pagetable_init(void); From patchwork Mon Jun 12 21:04:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277368 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 3D4F3C88CB2 for ; Mon, 12 Jun 2023 21:05:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 74E258E000A; Mon, 12 Jun 2023 17:05:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6FDCE94001D; Mon, 12 Jun 2023 17:05:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 578118E000C; Mon, 12 Jun 2023 17:05:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 4743E8E000A for ; Mon, 12 Jun 2023 17:05:38 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 0D32D80330 for ; Mon, 12 Jun 2023 21:05:38 +0000 (UTC) X-FDA: 80895327156.20.CB118DC Received: from mail-yw1-f174.google.com (mail-yw1-f174.google.com [209.85.128.174]) by imf28.hostedemail.com (Postfix) with ESMTP id 44C7BC002A for ; Mon, 12 Jun 2023 21:05:33 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=LyMVzyXq; spf=pass (imf28.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.174 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603933; 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=ELrYSGf3rZcM0SKncNLanyoUH1rFlxcI1YjdtaAHWOM=; b=fcQCGlm9Zyeee1gzjXLRscAl1pe+bNguTp5M6ssfHxEq/+FsDvPe2Cja1jqOOQvyha3JJ/ CsCWP1UfmdIwmFQIdU3m8bOoQMaNtgpZqeR8P4aidu36OeLQ2vwup6tlxBfN2yzWy3Awsw Yyx5Sd5hN2VsOa+mb/d7LHyTEXLd54U= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603933; a=rsa-sha256; cv=none; b=slX7bX/YnpPSOplKPYiWk5T/4EP3vBapDloE9yO3Nqg3tvFyEogobNWSI3jbCIbkIS6VGl ZqOBS6dOAeZjybZhdHRLrKvF8OB/Fen+ln6LbT+CksbCUqxRfHFT6lLjk2DUxytl4jAsn6 Qt1IFa9e4AqV3XkAOuU7xMio4s+NenM= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=LyMVzyXq; spf=pass (imf28.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.174 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-56cf916aaa2so27690947b3.3 for ; Mon, 12 Jun 2023 14:05:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603933; x=1689195933; 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=ELrYSGf3rZcM0SKncNLanyoUH1rFlxcI1YjdtaAHWOM=; b=LyMVzyXqiqaKfQOftnbB5qB90EtUnrbgPE+tRRy8u809McOQMdRt58iULBOhR8JFtH hhRJmphgmRUDnbyyXP2Q9YxbwzAkn3ThfcILkwgMQG3ISbn98a07kPZmsAVC8Vehd4Mo 1biR1LFmmxLwxk8sGkOJv0esnaOWjdr489RSbTn71+xsATggGjgO9UBlAUeAeLB5A5f/ kGoRSfqAHa+jn1LV08UE8edOQfnKwbxOGGV8ICxkOoxOLTvOaFWF2RtvL1e5xr2jqLU0 QA04uFGbeM6zqpolABbfncapro6b5DTja8wzwTkJfjoIbnkhTJwsqQTX3z92z2Org5Ii BY8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603933; x=1689195933; 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=ELrYSGf3rZcM0SKncNLanyoUH1rFlxcI1YjdtaAHWOM=; b=j1cWPVNUn+WpSJngubhU4P1kYP02f4m/j05a1Eaz9ZIDpuCcx7wDLq+mm2dCTWl3SJ nHqYGxluF9FlebX3K+gYvC0jDt19dhS1n7DyzWxcIoejPPv2dSmRS1VCe2Ic4T2SwSSV xGLEnFRcsTuaG8wyWwRQJhAqN8jmlatGfMtu5srHxoP1K8eQ6BSxCklXQe/ZNdVXSKXE jE/Np1PH4sX7MVRbXPBuGzN+QNKTNQrS0q7OSdlPJYhqO4XsXCHg1KOIb9rv4djhcIVY 3QWq/F62kW+NMVJcY/yZSbNJz9Xselx8maRhU1iNYW2gjiZh0B31FafYiGvd7XjIOwrd wEbw== X-Gm-Message-State: AC+VfDyjxx57Q9P6bf/8W23+Uq1ZPao068El2RqevNJ4ydg82u0n8aJs XRg/6Gz1X8Sw90FM06bPads= X-Google-Smtp-Source: ACHHUZ7fItlbNlNZv8dpxyHqv1w2q3utm4HiSoRDwiOPIqWB+aVpZeSy3j3Rf4mLiiGsI+aWaI88yQ== X-Received: by 2002:a81:8942:0:b0:56d:1f8d:b480 with SMTP id z63-20020a818942000000b0056d1f8db480mr4434878ywf.25.1686603932812; Mon, 12 Jun 2023 14:05:32 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:32 -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)" Subject: [PATCH v4 23/34] hexagon: Convert __pte_free_tlb() to use ptdescs Date: Mon, 12 Jun 2023 14:04:12 -0700 Message-Id: <20230612210423.18611-24-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Stat-Signature: 7gaq9cr1rtsfkheqkyjr4s6fhhdughco X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 44C7BC002A X-Rspam-User: X-HE-Tag: 1686603933-256474 X-HE-Meta: U2FsdGVkX1+XIRO34/DWShgQwjRlnTAZ1iA1mI1gHG2YW09meOy04yD/yowaVpS6CVmSmLu7JZlPrI6yzkqe0JWfHfO5i9cPmiL0UADNAWCBfT+EuKZT0x5wVJofMyEPtzS1cpfY9Zrq3wMUNcTeNjmiiw9kPmVqHMwRZrdKQJm+XdhmOQflQPg2sHY0CP37mrFxd16XltCZm4THJUW2axeuDRY7G7fptlIFv8szr5FeVwrAP3WgB6ICbxvCx8ToyxfpZ7zW86MD81OaML2fgRbwm8apNsv1GI5aFVsbjz5qRyjN3OX9gi/Ndgjv5qPzoFEknzMBcSxVelCK+shEWbMaT92Wmc2cJuw+9vhKS9T6mZiJp7O3WWF1gdno5yx4Ob2E0HyDQ4893PXgjvZbL2ngL3gYbDDg5BQ3q+tD8WOo3091zoYXmGtzOZZ710yH0iJFvGcKkmaZEhmcV3w0u4GxbPQP8+gr5Aeund17Ec1GafLEGcF8QqLcqKimNveqJLVEBICSbjKyrMyxACeD3a5t48xhbeYNVQ4bDADLA4a9JKRyQUNHhcCESFTcLw6cBt92ulr7zOm03yPsDDdCTiJHQCmBhcckMhm/ByWU19SvDNawjzfpPUV+gRon6OxS4/1gXGxAr+qv4Bdr7r+RsALozW1fYfQswiG7GTP39z2304u1BXrmwH1JGymxmZkR0qVpJ0xKakT4aS3f7i2gV+nQ5wVq+gsYUg83lF/3GCijWt+bURl4AathzqZAYuyNpZRCmJYkcrF+3iPhY0l2xrFz/59Xp7R9a688CAJH6Z61idC5Q7Rr2hkui5+dgRs63mT4ruB04lcQOFUU+ze3b24ECy+YsGganJGgcw5jU2fjyhwLl3tTZ4PYSkwAVnwwSGeqSeSWTZ78Ix7OSwTKzH+bcAiyztegfbZz2e6PMfEl60zNHnIcv+6531OFM1MDcClBveOF5pcerkglhtT KkGHaQFl aaDT4H7jFHJMJky9kYsQ9/2nBvJ1dpbFweDPYDbrA8dVUAwyxS5gKZ9LBLH+HbaNj6wkPHptcrTLmMVNvCc/Ms+VN6TQDmt8MF+EkOf3m2rzVCOV4xQBLwpdTQxcsfJ42NpV/nnCSVhV9f39VN7xejEjRDHHHiRBKv3LdRKhp4izUAfhYFFue6hoLPmgqExb0AtPMHEh/ypBkbY6g6T52lWVM+8zH+31u2ECgMB1j7pviuheKOQJlSTm0u1xuLxmyNPO0/94qcsEbrxxwNfe3J9ZaIRs2a8rcER2suWjUk9XbXjovRdRML2CxE2YEgIfT0eN0zYVcoNWlyUEEBu+CcHstwbeTEW0keJGO78UVin314U6l9RHhFvxwKznB3wqS5LcHdhj+SCLo6NwV+0k4sA9mAlQIM95RKTIWtRBPkylaNoqUuvKTTmnhb938OfzrRPL2XTz3OrNwVc/B1OYgDvnxUpWZNxn10DMGH5R+9WeVqKvwoTyOf3yqzEVY/W+bkZYyTZZmqGun7w4pvlTvs7Wmn4zrEDdDW/imAUnogOG6g+gCmPSHuGE2CAMBDhY/Q6DA+vWYunlLavU= 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: Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- arch/hexagon/include/asm/pgalloc.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/hexagon/include/asm/pgalloc.h b/arch/hexagon/include/asm/pgalloc.h index f0c47e6a7427..55988625e6fb 100644 --- a/arch/hexagon/include/asm/pgalloc.h +++ b/arch/hexagon/include/asm/pgalloc.h @@ -87,10 +87,10 @@ static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, max_kernel_seg = pmdindex; } -#define __pte_free_tlb(tlb, pte, addr) \ -do { \ - pgtable_pte_page_dtor((pte)); \ - tlb_remove_page((tlb), (pte)); \ +#define __pte_free_tlb(tlb, pte, addr) \ +do { \ + pagetable_pte_dtor((page_ptdesc(pte))); \ + tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte))); \ } while (0) #endif From patchwork Mon Jun 12 21:04:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277367 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 466FCC88CB7 for ; Mon, 12 Jun 2023 21:05:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D1A3A940013; Mon, 12 Jun 2023 17:05:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CCBD38E000A; Mon, 12 Jun 2023 17:05:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B6AFF940013; Mon, 12 Jun 2023 17:05:37 -0400 (EDT) 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 A40748E000A for ; Mon, 12 Jun 2023 17:05:37 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 814E7C0340 for ; Mon, 12 Jun 2023 21:05:37 +0000 (UTC) X-FDA: 80895327114.26.8EC688D Received: from mail-yw1-f175.google.com (mail-yw1-f175.google.com [209.85.128.175]) by imf23.hostedemail.com (Postfix) with ESMTP id AF91614000E for ; Mon, 12 Jun 2023 21:05:35 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=SoTIqHuL; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf23.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603935; a=rsa-sha256; cv=none; b=ggSyuwwB8x3Qxv2vrIjHr1SxjuVYVY1/u+kStmnet2AP7+tq9QJUO7qSuhvBeJtXfn7LtA n/LkwVAAYhrIAkrJvAqDXhTir+ghBwY5uYDq2Jf+RfOv2q1pym/Zaq+VxdFHOkYEMGlzlp mayc1qcjO1yr9uc7GqLzYYUykAZtveY= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=SoTIqHuL; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf23.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.175 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=1686603935; 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=KVp6CEv5MRUGdp+2H8Cti9WenGhaFTTbvrfHRtAH9kc=; b=HPKouB+jhIIec5adOX+Ryi6mDQO3bbL9P/zOvVHoj+aT/+MNAiB2mQD3DvJr1NScDDTCIn 2EJOKI37MbQ0qIBFDrAsYbcuqdYzOsUq3wla/bxYcUFfRif/j1yWiVOHRlLrS54DHocfwS 6B5uVmKpca4z3na3OflK71s09vbXadg= Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-56d17a5d786so19490067b3.1 for ; Mon, 12 Jun 2023 14:05:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603935; x=1689195935; 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=KVp6CEv5MRUGdp+2H8Cti9WenGhaFTTbvrfHRtAH9kc=; b=SoTIqHuLCAWfEiaWrP9H5RMeBUfw/4blxWiNTbN+EgENMXgximV8iyAXgGOp4XDuw0 D58PnjKgFper5JHCNJspm8td1YpFLE0wlV4KRGzp+/fPbBvQvEKYiEzI6FQgDegSQMJA W98fOojhxmIMYwSI3q765OUKGKExSDNbpRlItg5xCIvhjN0428xf4HNUJQQ5P+6zPMLU Ma3chacqOtGRi3R200/qVHAxMt5ARo9Z4Ra2qg/4Z+GPUMiMBJG7HmJrnWozDqrgtVLb PcdJ9jNUuMMACxveQJzaFtzM2eOsEwEww1xM2Q56gVCjb83OZCynZYnfeNSiDloj+NNW ogTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603935; x=1689195935; 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=KVp6CEv5MRUGdp+2H8Cti9WenGhaFTTbvrfHRtAH9kc=; b=SgiRLtOfdDAWvD3MbACzQXMFyo3EA/qoiuyqFnS9PJ6zMgBackCwBn/e28a4P22byP qBONmn4qXrowIJDaQBM9KPpNktVLODXdGEfFPDI5ftmO6zGIiuHx59eI2hd1CI+9gXjX aqc1g6K3hDFvQLkPPCIoBnZO+HdDBBB5dSUQC7mpKUwrOF/1AcN3Aj8km40xeyAFY2n+ ENDeQS71Yex0WBfbStARzp94MG+/tzAx+6AHhIr7i8G6NwA9AN0GzYnCVzU7fQkuNZXC W3ARNpnL1DmOAgyz50KN4nzb8zjZkGEylt0zSd0nhtl5fX9GbwF4Z82XtfohTNTqhbc2 9hiQ== X-Gm-Message-State: AC+VfDxpjErh/lXkv9cIgo76Tjq6MGqH9A8RnYL0S47xoRKFPVCjCcbD CzXQckl/tfiVFLtVrZEs/Xc= X-Google-Smtp-Source: ACHHUZ67Z3iEzfMJBv1FKsvF9wmF9wb7PLhtVh2H16srVVINddDnAoJ1jY9AaH4fP20t9BaRYfthGg== X-Received: by 2002:a0d:c7c7:0:b0:568:b10a:e430 with SMTP id j190-20020a0dc7c7000000b00568b10ae430mr10170669ywd.25.1686603934783; Mon, 12 Jun 2023 14:05:34 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:34 -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)" , Huacai Chen Subject: [PATCH v4 24/34] loongarch: Convert various functions to use ptdescs Date: Mon, 12 Jun 2023 14:04:13 -0700 Message-Id: <20230612210423.18611-25-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: AF91614000E X-Stat-Signature: yna9izficfkgek99m4pg9az8fjjdjh6p X-HE-Tag: 1686603935-6226 X-HE-Meta: U2FsdGVkX1+1BZ+1761UuCCiZujrPPl2WWoQFhOebZXTnSriGMoD9x6tRmpobyhsdTmJjBk28OMVBI6f2CVsVDkYjrhglKBcEUFkr1Sf1O9QcR5K2od0PMJDZbnU72gTF3QdC9ScU352gMHCMIqNgb/4VmcwGtcCXKADU0CynXdDxPyhzTVP6mc0RWkXZvTTQiDejIIbOlmNxagEtXJN0JDyhqMQdC0Qisgd+izymchaOP17/okH/DNJqgi4Ltd+OHVW+8lYnGGaExiXTRXIdQWEsQQGhecpPpzWvlHON6z/x/7UMCFBH69ear/wAXal+In7v0svtSkVMKJQ8SYFjE18Iffsq+LgYwW22rVgGYIaCO5p96Kd74S7tz2ywMA6yeEPB4agykTlvz4tcM/3G+KnQUK5HwtEtlljxck4nuFUM1B9nJefHGUK9e0oDnUN/es++dMUKWjrdzomXiYNZXYRSMltYT2P+J4IKbktH0LdZWIJz8r8ia07of8V6N3eLtC6g+oZ5VJsnY1gCG8tifMKLTP9dJ0LEPjKXNzAp+P0Wufh70APzIJckTBAi3XVbe2p5cyFY666yEkspztKzmIHqvB88FWYlB+34WJ0H8maYwjpeRjdjLukglBWiPZT7KIuSiMhT6Qp3F3YbeAU+K2XchGOVPqhoYDNTAYSSOoLmWbB6n8DT/436Ay2WLuwUBgwriy9rVPir0ufz/SwxMpS9hh/QKo1/wlMU5U3VXUJmvozfYiz30PfPlDvUA8sL4+nVdzjUGE5CcW0c2eIYUMENlgpa5Oscnn+wiNcHLRWItseCRmIsRAoKLR+vTnZmXRymtCsM8AdJRv9RmXBisZcVuesjcaB/opv+RmyZsrglOsVF7fnhR5yd+IE/dTbT7oc+wnUBoTRB7FhTTB4cGcfIjRmnFNXfHbwoHjhWqb0sAGC5n4i7jTqnuRcNt5YjdMqeZz4VQbATrb1ulU paDNNtu7 +oTyO/5Szta99OvDWx5LDAhASoS5IgfEllNrkM4/dSLm4u2HWu3jMjsfyZJRLVQB2jSE4nXfGSs7wEpwxNplaOVe6v/AoxR05r6x2Iql13qDuYbEvgzQ0CLRr5VS6EK572e0z+Nq1FJ8uUMXLDXOIs17WcKhWO5Mnl18O7sLzqbu1WJtIFUnMRfT20bReeLVQiO8fEzwVAaw7GQQlnCj6gs4GHae/O1Hc/dca6mF+9yJg00GXSBipQtgYNBTS9gYCqeaLjHRFvJ1XlIZBFu9kQ7E7P7wiNpqQa0Y+UuA3Tv7AucZdCr2mL5ndfdv/I3VpIJfZD9Xau7pHf3rXPccvqSClcVZnggsoGUWzJ1Z3ExGEYK/H9iEt3h7kSu1WmWSyxSiDtmgZUjzszuxJdMcDarKV0GGFv6i9loXIMXjJ5PM0W8RSqNIm5ygoRzDD47axO2wzwRK2fViSRR8kV8oFjuzxol2+hWB7yLTY/bEJ96bf6E0LSy2+ien4TJNrELskckicDGtMgWZTn4tvsbinzZny4w== 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: Mike Rapoport (IBM) --- arch/loongarch/include/asm/pgalloc.h | 27 +++++++++++++++------------ arch/loongarch/mm/pgtable.c | 7 ++++--- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/arch/loongarch/include/asm/pgalloc.h b/arch/loongarch/include/asm/pgalloc.h index af1d1e4a6965..70bb3bdd201e 100644 --- a/arch/loongarch/include/asm/pgalloc.h +++ b/arch/loongarch/include/asm/pgalloc.h @@ -45,9 +45,9 @@ extern void pagetable_init(void); extern pgd_t *pgd_alloc(struct mm_struct *mm); #define __pte_free_tlb(tlb, pte, address) \ -do { \ - pgtable_pte_page_dtor(pte); \ - tlb_remove_page((tlb), pte); \ +do { \ + pagetable_pte_dtor(page_ptdesc(pte)); \ + tlb_remove_page_ptdesc((tlb), page_ptdesc(pte)); \ } while (0) #ifndef __PAGETABLE_PMD_FOLDED @@ -55,18 +55,18 @@ do { \ static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address) { pmd_t *pmd; - struct page *pg; + struct ptdesc *ptdesc; - pg = alloc_page(GFP_KERNEL_ACCOUNT); - if (!pg) + ptdesc = pagetable_alloc(GFP_KERNEL_ACCOUNT, 0); + if (!ptdesc) return NULL; - if (!pgtable_pmd_page_ctor(pg)) { - __free_page(pg); + if (!pagetable_pmd_ctor(ptdesc)) { + pagetable_free(ptdesc); return NULL; } - pmd = (pmd_t *)page_address(pg); + pmd = ptdesc_address(ptdesc); pmd_init(pmd); return pmd; } @@ -80,10 +80,13 @@ static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address) static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long address) { pud_t *pud; + struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL, 0); - pud = (pud_t *) __get_free_page(GFP_KERNEL); - if (pud) - pud_init(pud); + if (!ptdesc) + return NULL; + pud = ptdesc_address(ptdesc); + + pud_init(pud); return pud; } diff --git a/arch/loongarch/mm/pgtable.c b/arch/loongarch/mm/pgtable.c index 36a6dc0148ae..cdba10ffc0df 100644 --- a/arch/loongarch/mm/pgtable.c +++ b/arch/loongarch/mm/pgtable.c @@ -11,10 +11,11 @@ pgd_t *pgd_alloc(struct mm_struct *mm) { - pgd_t *ret, *init; + pgd_t *init, *ret = NULL; + struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL, 0); - ret = (pgd_t *) __get_free_page(GFP_KERNEL); - if (ret) { + if (ptdesc) { + ret = (pgd_t *)ptdesc_address(ptdesc); init = pgd_offset(&init_mm, 0UL); pgd_init(ret); memcpy(ret + USER_PTRS_PER_PGD, init + USER_PTRS_PER_PGD, From patchwork Mon Jun 12 21:04:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277369 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 840A2C7EE43 for ; Mon, 12 Jun 2023 21:05:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0BE2394001E; Mon, 12 Jun 2023 17:05:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 070D594001D; Mon, 12 Jun 2023 17:05:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E532D94001E; Mon, 12 Jun 2023 17:05:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id C872894001D for ; Mon, 12 Jun 2023 17:05:39 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 954DEA030A for ; Mon, 12 Jun 2023 21:05:39 +0000 (UTC) X-FDA: 80895327198.08.2CC5B2C Received: from mail-yw1-f169.google.com (mail-yw1-f169.google.com [209.85.128.169]) by imf09.hostedemail.com (Postfix) with ESMTP id CCF9C14001D for ; Mon, 12 Jun 2023 21:05:37 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=QRoyvLYE; spf=pass (imf09.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.169 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603937; 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=YznDncwA9GAqykzg54RX0MBNzB2zliFPfcggpr0Eh4s=; b=hLFVp7SIs6L8sFt6a7MBWBD6KknXfBoQy5bGwI23YWRccr0C7ojlMGnjVXWYSV9xQuWc/Z 4WuRbDqn9aFGfCP7sRtwTjd9V613iQfjCjrHl5hJahatmzFCWrfBaT/ZMw8EQQ39fvcDNJ AxBx1B138ayaNUAD+d5gR531IsJOsQY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603937; a=rsa-sha256; cv=none; b=IHfxZ7kdeNdgbQ73UUQmUBHQXGN+hZEqieZZdtL97nQJpwVxvYKm3bXPLNuArCMxvz29Fe Ba7lez+v5brP2vEtK7QPdK3NbmSWfIc2iB4c1/RgQrgeAfWHBb0BXdGfGEWzCxX8n+IUFF K3gKgmB2uoPL9FGUL0QeanVrIKf5/EY= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=QRoyvLYE; spf=pass (imf09.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.169 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yw1-f169.google.com with SMTP id 00721157ae682-56d304e5f83so13125787b3.2 for ; Mon, 12 Jun 2023 14:05:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603937; x=1689195937; 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=YznDncwA9GAqykzg54RX0MBNzB2zliFPfcggpr0Eh4s=; b=QRoyvLYEgxL/2kCjPdtGz5QAOI77H8loVEKJnu5DXjBhTeuZzXSW3sH87LjUK8GXq+ Ni0/ms01raOgbTyNhkKSK5xptFnCpOw51bCuMschp5irMPmkXquXQTS+FYmXtEVbn5yM l55Cew9WZd/PGf5LMSokC+rcq8ZKIRncx7ECXqQGG+tKKnAOMwOtO9dyfKSmSCaex2iX 2NivJzP5rq2hVV/YjxU2wV6J9nj+kvJCVEu9BAqcy2HzczmnbJeIkP/KaaT6YTF9TAWb AjjacshjGjPtqwSZWAawzFFfrAAsEWLFLRmKLAa65IfKQVb6IUHRo6JGUNBf25tg/BiS TUvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603937; x=1689195937; 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=YznDncwA9GAqykzg54RX0MBNzB2zliFPfcggpr0Eh4s=; b=Sf3VOr7qTvKXKK5BRWPosT345ZTodp4Yjhv6J1Jv0mVkGzj8ax5oTIvCJfIZET/BKN PcEutTXaTefLLIt9fCTX+5ENey7pe2xr5VLAV/ZuD0t84N/+gllDdQNMVidThHp8Cv7A wT0GY5XVhpiDfxy4KqM4I/+ex+HkKCV0POli/5GY9p/S0J+/s9FQJ1GNVOA2DRuM7hfH Wkp1xQfWix0h78CFABZ34MLCBsYZTHwCzrbstSwkCa0h71XuW2JwcrBrTxZsLf6qkz6E kzXBu9QC9a9qrdKEb17jshTujPETptdaIS/4idZvpnZzpRUelU0zv5bl1W4DthNlesgz HwFA== X-Gm-Message-State: AC+VfDyT81WCoB4pRn1NqyPxO/37oKFtX4DzcyeSL4FdND/K1h2NkpYR 8BfDhCDf4+sjm6woDxpeFv4= X-Google-Smtp-Source: ACHHUZ6CPRZy4B1gHWQwGyL1jpWh6RHuanx0k7sKCLWXZpcFJmn4wjrQVTLXrK9+FDMtZqXPjFpwgg== X-Received: by 2002:a0d:cb4e:0:b0:56c:f32d:1753 with SMTP id n75-20020a0dcb4e000000b0056cf32d1753mr9075881ywd.44.1686603936731; Mon, 12 Jun 2023 14:05:36 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:36 -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)" , Geert Uytterhoeven Subject: [PATCH v4 25/34] m68k: Convert various functions to use ptdescs Date: Mon, 12 Jun 2023 14:04:14 -0700 Message-Id: <20230612210423.18611-26-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Stat-Signature: 3wnmzgrujmxji1frb49yjjgg1p9p9i4p X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: CCF9C14001D X-Rspam-User: X-HE-Tag: 1686603937-29603 X-HE-Meta: U2FsdGVkX19JMAhJtTBLayHRZa69HDoGubVVJp77Kw+03YzFTzqRGWxJ0WFVbCWUUIg0aSIG2hOUVIrOYKQtEHjEYCxUQjwlstFQ+DteAtrPtgovtjkJRRJW8PK2yv92AUvtwnv0caReGKJBiFRtJTSQNhWal1YByzIAnesmt12/EgB6UcPtpqiy6UTLBmNOcXVR+lEucrPUvOBpYsjByo+4gNCadVQxy4qcKsEaAO8OnqiqIYearv0sX1OPzVAWeG/Peop/pMzwbp5ssMYhPFgogRkcyrQ2yi1951iqAjBcWT25IkB+TZwuLg8PsYt6Cugda9OTQvfBrQTqnd/2fd27YhoQQHHgrxF9Ew4ThcRq1qDTitoKTu1zNMcZ4toCEBt9zcB4tYAdhfOimMNVW5y9POkg8zND3GdkP063h/z5osIPW5m1LR1wKYIdp5kVRFxts4onV4AjfWxh55wcmESmjEdMnu5FriutOPfAxGY/PdcA+ZnGrBI4tBKxY6pUxKFyWd8K4A6lBAIYQI/ebeEiAMdw4s83btXHwSngISChLJUG2EBCVewVTKeclVHRfuQnkVFYz/1sUkzj3l/2CLAq+E4YXE7lMl5kEcq0xVyQ4YuslD04PmOOnqjc4hqgHNz+tA3BDDL9Svfd62xwbvP/oIU2LLR6SG07bCrg0GKUrbzSZc6qFEOTTVhZBfgWsIpTqt50aUBtWkW5/P+B9kRdX73EhlgKbpM/Au4twyqLQHVERRGQBnE8RbbkPptFIfIAFTASRNRkp1t+N9Iz7ENO7esYTZ9Pbu1s4AvvtrdrlY1ru+KLrOzeiJXkT6N5dlXD9BqYjyx7H5swUMUHr5Gs39FhhKCrmqKTIv6HT6IrwaazsFYs6zgXma8arJVuOvJngH5arnR5NL24n6A9OqaJJsn8501rnfBxchuOewJ5mRUaaQUtazaxkL5nkjrsa0Lcw6K/54592kiQhaH fn5EvLA7 CjM/jbs0Uk7GS85rYcsXzstHRsFYZqhTkFvJo1WHz3fc2unFX0DCqY1R24W3u9nzJDdhGbjzG50oMakLnowJrgbX87CcccTR2AzeuOeX5baU/BDrIpf7XorUX7aTgk2BJ4x4zq4Ko2sD5qQlwOFmzqOkCYQKOPSTNI741lEhYo4/1QYWQ7EFU7BP7UUrpoMd/2dUdiyVDzOWlkVUZA4r7dC9aLYubgfYVz0jS+wxOkCsVOMHvHzowetSZd76aKkPXjSwnfN6xl6YhggsgVJ645CgV/Q8g+T1cDayqBSnmOphr5pQ56KSK9RftvFnjFEOGv5cd2lFP+WhRB1w93DhMaLUfjDKgPW/4RcBOuG9kDzCEUOH7YtszCRP2hUoqjMn2mYlpu036LYyp7X9nU6jCDfEYYWmBfGmcG8cujzx4b//F0wwVp2CMGb+3wj7mvoCVZdTp1U7qD5IkxEclg8yizWrnYRjM2iQn7ppENPUlPETXo85DwJAsiiniaPfMcz6YiQxCXDcGOzGlfudpSrTmOtbubg== 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: Geert Uytterhoeven Acked-by: Mike Rapoport (IBM) --- arch/m68k/include/asm/mcf_pgalloc.h | 41 ++++++++++++++-------------- arch/m68k/include/asm/sun3_pgalloc.h | 8 +++--- arch/m68k/mm/motorola.c | 4 +-- 3 files changed, 27 insertions(+), 26 deletions(-) diff --git a/arch/m68k/include/asm/mcf_pgalloc.h b/arch/m68k/include/asm/mcf_pgalloc.h index 5c2c0a864524..857949ac9431 100644 --- a/arch/m68k/include/asm/mcf_pgalloc.h +++ b/arch/m68k/include/asm/mcf_pgalloc.h @@ -7,20 +7,19 @@ extern inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) { - free_page((unsigned long) pte); + pagetable_free(virt_to_ptdesc(pte)); } extern const char bad_pmd_string[]; extern inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm) { - unsigned long page = __get_free_page(GFP_DMA); + struct ptdesc *ptdesc = pagetable_alloc(GFP_DMA | __GFP_ZERO, 0); - if (!page) + if (!ptdesc) return NULL; - memset((void *)page, 0, PAGE_SIZE); - return (pte_t *) (page); + return ptdesc_address(ptdesc); } extern inline pmd_t *pmd_alloc_kernel(pgd_t *pgd, unsigned long address) @@ -35,36 +34,36 @@ extern inline pmd_t *pmd_alloc_kernel(pgd_t *pgd, unsigned long address) static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pgtable, unsigned long address) { - struct page *page = virt_to_page(pgtable); + struct ptdesc *ptdesc = virt_to_ptdesc(pgtable); - pgtable_pte_page_dtor(page); - __free_page(page); + pagetable_pte_dtor(ptdesc); + pagetable_free(ptdesc); } static inline pgtable_t pte_alloc_one(struct mm_struct *mm) { - struct page *page = alloc_pages(GFP_DMA, 0); + struct ptdesc *ptdesc = pagetable_alloc(GFP_DMA, 0); pte_t *pte; - if (!page) + if (!ptdesc) return NULL; - if (!pgtable_pte_page_ctor(page)) { - __free_page(page); + if (!pagetable_pte_ctor(ptdesc)) { + pagetable_free(ptdesc); return NULL; } - pte = page_address(page); - clear_page(pte); + pte = ptdesc_address(ptdesc); + pagetable_clear(pte); return pte; } static inline void pte_free(struct mm_struct *mm, pgtable_t pgtable) { - struct page *page = virt_to_page(pgtable); + struct ptdesc *ptdesc = virt_to_ptdesc(pgtable); - pgtable_pte_page_dtor(page); - __free_page(page); + pagetable_pte_dtor(ptdesc); + pagetable_free(ptdesc); } /* @@ -75,16 +74,18 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t pgtable) static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) { - free_page((unsigned long) pgd); + pagetable_free(virt_to_ptdesc(pgd)); } static inline pgd_t *pgd_alloc(struct mm_struct *mm) { pgd_t *new_pgd; + struct ptdesc *ptdesc = pagetable_alloc(GFP_DMA | GFP_NOWARN, 0); - new_pgd = (pgd_t *)__get_free_page(GFP_DMA | __GFP_NOWARN); - if (!new_pgd) + if (!ptdesc) return NULL; + new_pgd = ptdesc_address(ptdesc); + memcpy(new_pgd, swapper_pg_dir, PTRS_PER_PGD * sizeof(pgd_t)); memset(new_pgd, 0, PAGE_OFFSET >> PGDIR_SHIFT); return new_pgd; diff --git a/arch/m68k/include/asm/sun3_pgalloc.h b/arch/m68k/include/asm/sun3_pgalloc.h index 198036aff519..ff48573db2c0 100644 --- a/arch/m68k/include/asm/sun3_pgalloc.h +++ b/arch/m68k/include/asm/sun3_pgalloc.h @@ -17,10 +17,10 @@ extern const char bad_pmd_string[]; -#define __pte_free_tlb(tlb,pte,addr) \ -do { \ - pgtable_pte_page_dtor(pte); \ - tlb_remove_page((tlb), pte); \ +#define __pte_free_tlb(tlb, pte, addr) \ +do { \ + pagetable_pte_dtor(page_ptdesc(pte)); \ + tlb_remove_page_ptdesc((tlb), page_ptdesc(pte)); \ } while (0) static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) diff --git a/arch/m68k/mm/motorola.c b/arch/m68k/mm/motorola.c index c75984e2d86b..594575a0780c 100644 --- a/arch/m68k/mm/motorola.c +++ b/arch/m68k/mm/motorola.c @@ -161,7 +161,7 @@ void *get_pointer_table(int type) * m68k doesn't have SPLIT_PTE_PTLOCKS for not having * SMP. */ - pgtable_pte_page_ctor(virt_to_page(page)); + pagetable_pte_ctor(virt_to_ptdesc(page)); } mmu_page_ctor(page); @@ -201,7 +201,7 @@ int free_pointer_table(void *table, int type) list_del(dp); mmu_page_dtor((void *)page); if (type == TABLE_PTE) - pgtable_pte_page_dtor(virt_to_page((void *)page)); + pagetable_pte_dtor(virt_to_ptdesc((void *)page)); free_page (page); return 1; } else if (ptable_list[type].next != dp) { From patchwork Mon Jun 12 21:04:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277370 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 E5AB6C88CBA for ; Mon, 12 Jun 2023 21:05:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8D4FA94001F; Mon, 12 Jun 2023 17:05:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 884CA94001D; Mon, 12 Jun 2023 17:05:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6B1D094001F; Mon, 12 Jun 2023 17:05:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 54BA694001D for ; Mon, 12 Jun 2023 17:05:41 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 2E97E14033B for ; Mon, 12 Jun 2023 21:05:41 +0000 (UTC) X-FDA: 80895327282.26.BD489D0 Received: from mail-yw1-f175.google.com (mail-yw1-f175.google.com [209.85.128.175]) by imf23.hostedemail.com (Postfix) with ESMTP id 3B4FE140006 for ; Mon, 12 Jun 2023 21:05:39 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b="hFoqvf/V"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf23.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603939; a=rsa-sha256; cv=none; b=NZHsZchr7E/YjUQ8U2g6sjEN6EK9xjiJ+QMuEaw/8CfW/6LA4RBlGVf5Hi48v3Byr31GpT slohRt9H+5WVxdC5iiBLEalOp+HMnZ0GVjhq00Uktav4ZHnr9HY/6oflj7BfC6mQ7kS/S7 7kdCj2UB+Wku2e6D6QXHyrEV0dJVxxU= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b="hFoqvf/V"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf23.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.175 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=1686603939; 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=x0T5hRMJMhyAQcr70NSN00ZodxImAvN36JhDkpGUyhY=; b=f5BWYuZtdvIcI9c++mP9ojiKVrQxnl47avxQapVLAghC+sed94V3u0hPnA/zOXexguSV47 ovAJcfiShgGir3DKlTXoIMZ0PC/mqzH9lVABF676J5V7A7t4xvv4SoTW8nkfASbBVN7Bdy H7oGHO5Qdoj/CYq9vlmKAgu/BETcl1o= Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-56d17a5d786so19490547b3.1 for ; Mon, 12 Jun 2023 14:05:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603939; x=1689195939; 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=x0T5hRMJMhyAQcr70NSN00ZodxImAvN36JhDkpGUyhY=; b=hFoqvf/V9d8VqdB1r7rkRWq3dicIimOQySgVHkIAvwFL0Mu8+p1N/1GXYk20QCUvFC OBvHXqLIwjKUW/Cg2L8TmdMFxaZ6erl8dDsxPeG4KHBkNdpNt+SDRM/fp02BIXhlhRFh zXyh4Ur2o3sR1wLNSv+RjLnPdgEzgFATa4g2Xg+LDMcjUjKcFkx+ifp4/8Lyr5+rSxVP +jDDkF8+0sKN+s4pK+Y7LtIDDsq1fD/1mjzcxIj0x+6U6FJXpEaUQtkvK0KHsh7xRlWs 1TqkCn6ISt1EZJ2kze1cJk8ZhVzPLe93moWp6KpJkfCGbbls5KNPHYDQvJaFIhhqzRGm 8czw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603939; x=1689195939; 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=x0T5hRMJMhyAQcr70NSN00ZodxImAvN36JhDkpGUyhY=; b=BJwG5Zo17yRiE9jflpbyLrm4vtlULGv+sSJRkcvy3ozslVrPvsjqkLmG0Bvpz2BCVR shHlgdK5/0i3ogWQim9yJumJAFA0fvEM8Qi1RRUHjv/wfJTgG3mrR4sUIupkhe67zGhy uRvZJiRahOt4AOtBRp4wPdXIs4qVfLZnkwfRRDzo8RQmJxBH+cp2cn8OpeOfN0J8lk0b 0lCzpGXU4INPq7yJPKWLvotBJI9G4NYPAoA1CdPUNvNdaZgcJLaIm8lx9nj7E/Y24MJi y8XUBgdcWylI9yyd5/mleecius7k+ucNXtL0/+eljk6oVkB9T1T6xOVNs4hC7GNVchw7 UdFg== X-Gm-Message-State: AC+VfDxAX+MVZojYxdPcc4f1stkg+jd/jSobuup5WDHCddTIcV8qIZtT MTgGAtu1wE3iiqZoieaoUBk= X-Google-Smtp-Source: ACHHUZ7R4s+2aZ6dyK9NB/h4GJ1OeGFjhnSrFQqFV2mTnMsc5RahC9DLUvZ1Ug17YsYVh0NwNxMgmQ== X-Received: by 2002:a0d:e2c7:0:b0:56c:f6cd:7b55 with SMTP id l190-20020a0de2c7000000b0056cf6cd7b55mr7964257ywe.6.1686603938725; Mon, 12 Jun 2023 14:05:38 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:38 -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)" , Thomas Bogendoerfer Subject: [PATCH v4 26/34] mips: Convert various functions to use ptdescs Date: Mon, 12 Jun 2023 14:04:15 -0700 Message-Id: <20230612210423.18611-27-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 3B4FE140006 X-Stat-Signature: 8yu57szyz6a8sjkzitknrcbruj9fg4jr X-HE-Tag: 1686603939-963749 X-HE-Meta: U2FsdGVkX1+ohN6n8AZlMDw8G5v4lXjlPdpDBDyDstwmGpgKdEWUMsAeWf2MH4+rgYo9E5z1keT1m6ji1wWNED/NnoKYqAD20N9ySNIcvERbTin2xs1dBIil+QhkGNJAoV7bHFlTMbCS48N4NSetzLGaRXK1i9UyErdbRyZfqAx+SjWVRvlS5KRYXXBeZ1V+JDNRHBTcOg9W7a5HNdTvCXc8s13AfDL0glnAzDCSSdUuhhwLPTXgc+jLr+LEWDOanEf79KdRa0biOW6WIagB+f8+1jATk1j9vDBllIsvfqZLy7Z2K3ZxaFApJ0jRcI3b9wAAzfJih3br1OQ0hzMCwqD596JaFSCl1zekRcQoTJUEpmzjJuUMc+CiY91QgPKEr7++JjBvl3Zyf0647O9uoWEvqHg3Kc4cfoCqyAPGmTTZFTd75ftzzdiiLtyuvSRJ8pFNZrbOrF7yuJQhOA1gKzNr3naW9K6cDufNtitrGtnsFZnmJfkCAHY9bg6xAy/DuE2kcH5VQCttAMVd370APSlo5z6+u2lm8WsfmOfUtvIsFFnTyQVrpQyMuWEyqx0IXK+EVUBrg+lTg1KbhOk/c0eLEqYvqrmTJtxrR8+mCdq1VxIuPiLa4KsPfLc7h/N9V8Aj0hiat3/JtfojlDfE8d73xHWbBVLbkfPemWsBa3Xq64rq7nE9R0qtKgx7/P+BDs32IteWvdrQ2Q6K3XkAyDc2wmsnpWXgqT55ar0uxekFGBS2s16/C0pjXVGsDPPMZeXPO30DiQ5fY8IG31EZ8Q7Dmhr+7oUzhzhPMsv8+rZrzyWu6vDaLKiOlR5WHBiDlVqCENsq+yca6AJWu4KZC9lDAqs0ct+xqYdFZeHKLkKF4CCMqCU1WKflbMwjzELK/t7JJOfUs2XYqFtN1y4hOIoKLBL56jtah1H6SYCdNakdVBL8yaFGjbXMEB6R3+NR0sEo9jxLA8nkFEB7DnH pbZAMNlr 8hcTe+iIeOwgWsH2WrZSwEeruoWNMM8qwNrMBETrLZNJ0LVzhk7AMnp5a4AYxwSxHlPXgfmij4rxzV6aSxLAwUf4d2hrul8Y3PYQoNQvHNW5LZk+JkZHc80ye2P9B6h+MbJFSJWdvGa6eIZdlKi7DP6grYJI57iWe9/hGyNQJes3Sf5MFvj/LLoX7hRPOD4p1B06sgLpeu6et+1CjFDXkq10D2kck+U/BtvQRTLT7GwGiU50MAmmP0kCk11PaZXgjV+lJGbClAzt/ynBjfGllyJzkU9v9Qlp4+k0fmg32wZ6yhL1Im8c+oP5eZoPVd/j2eOrDxq8Z7n55EDnq79hX4Tgqv+tjnOYHIJz10h5E0axMH3KqVDvQ84TbWUZF23rAflciNp1KPAi2+2fI0UEg72MK52mJUGOqPnhXWxZaqvfaQiBDkAkVhTKfeEXriwxKVB6P3+X3N0DP7Fp3H/oXUfyUEY06dM3jfxAX3AAvjr7TRwwgMhTbZcjAq1ZBAz/ZOr3C0GdkpWfWuaNmcKqkKmvB9w== 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: Mike Rapoport (IBM) --- arch/mips/include/asm/pgalloc.h | 31 +++++++++++++++++-------------- arch/mips/mm/pgtable.c | 7 ++++--- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/arch/mips/include/asm/pgalloc.h b/arch/mips/include/asm/pgalloc.h index f72e737dda21..6940e5536664 100644 --- a/arch/mips/include/asm/pgalloc.h +++ b/arch/mips/include/asm/pgalloc.h @@ -51,13 +51,13 @@ extern pgd_t *pgd_alloc(struct mm_struct *mm); static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) { - free_pages((unsigned long)pgd, PGD_TABLE_ORDER); + pagetable_free(virt_to_ptdesc(pgd)); } -#define __pte_free_tlb(tlb,pte,address) \ -do { \ - pgtable_pte_page_dtor(pte); \ - tlb_remove_page((tlb), pte); \ +#define __pte_free_tlb(tlb, pte, address) \ +do { \ + pagetable_pte_dtor(page_ptdesc(pte)); \ + tlb_remove_page_ptdesc((tlb), page_ptdesc(pte)); \ } while (0) #ifndef __PAGETABLE_PMD_FOLDED @@ -65,18 +65,18 @@ do { \ static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address) { pmd_t *pmd; - struct page *pg; + struct ptdesc *ptdesc; - pg = alloc_pages(GFP_KERNEL_ACCOUNT, PMD_TABLE_ORDER); - if (!pg) + ptdesc = pagetable_alloc(GFP_KERNEL_ACCOUNT, PMD_TABLE_ORDER); + if (!ptdesc) return NULL; - if (!pgtable_pmd_page_ctor(pg)) { - __free_pages(pg, PMD_TABLE_ORDER); + if (!pagetable_pmd_ctor(ptdesc)) { + pagetable_free(ptdesc); return NULL; } - pmd = (pmd_t *)page_address(pg); + pmd = ptdesc_address(ptdesc); pmd_init(pmd); return pmd; } @@ -90,10 +90,13 @@ static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address) static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long address) { pud_t *pud; + struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL, PUD_TABLE_ORDER); - pud = (pud_t *) __get_free_pages(GFP_KERNEL, PUD_TABLE_ORDER); - if (pud) - pud_init(pud); + if (!ptdesc) + return NULL; + pud = ptdesc_address(ptdesc); + + pud_init(pud); return pud; } diff --git a/arch/mips/mm/pgtable.c b/arch/mips/mm/pgtable.c index b13314be5d0e..729258ff4e3b 100644 --- a/arch/mips/mm/pgtable.c +++ b/arch/mips/mm/pgtable.c @@ -10,10 +10,11 @@ pgd_t *pgd_alloc(struct mm_struct *mm) { - pgd_t *ret, *init; + pgd_t *init, *ret = NULL; + struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL, PGD_TABLE_ORDER); - ret = (pgd_t *) __get_free_pages(GFP_KERNEL, PGD_TABLE_ORDER); - if (ret) { + if (ptdesc) { + ret = ptdesc_address(ptdesc); init = pgd_offset(&init_mm, 0UL); pgd_init(ret); memcpy(ret + USER_PTRS_PER_PGD, init + USER_PTRS_PER_PGD, From patchwork Mon Jun 12 21:04:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277371 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 36C9CC7EE2F for ; Mon, 12 Jun 2023 21:05:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F165094001B; Mon, 12 Jun 2023 17:05:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EC71294001D; Mon, 12 Jun 2023 17:05:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D673794001B; Mon, 12 Jun 2023 17:05:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id C48A294001D for ; Mon, 12 Jun 2023 17:05:43 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 9B7211A0345 for ; Mon, 12 Jun 2023 21:05:43 +0000 (UTC) X-FDA: 80895327366.02.8826221 Received: from mail-yw1-f176.google.com (mail-yw1-f176.google.com [209.85.128.176]) by imf30.hostedemail.com (Postfix) with ESMTP id D0DFF80007 for ; Mon, 12 Jun 2023 21:05:41 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=qp0OZHJw; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.176 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=1686603941; 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=QSGr1AIBRcRb+Ur7L3hOWyc2qTqn+mhf5/YLNQmZcmA=; b=CIlEU2TUixubUUuu2oHhrCJ+j6kJd8HLwx7G78UB7HepRL3YXVyi1WiMCgbXn8131DOXRq TewF9jNjilGti9dDRub9qZzcPaA+2tM8C7hFP2JrfnEkSxjS9JDbXBxBtHOKyCViLOm01h paOY5LKlj8nA01Lc2YLsMYjHeQpG7Og= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=qp0OZHJw; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.176 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603941; a=rsa-sha256; cv=none; b=0mRS+b/GmBNRPlIB010wScKiNRNJP/2dA8E1BPz0izJz4LFT8r6BZ71cnAlnQId7pyLw51 9Bn/XVUIIBIrWrjAkTOqOQlsth3KsfTfplM14CfbF/vKZY5NvVGccSCePuj4z2euKofhr5 p3XuKZthyauDUnD2nl//dIPt5PL6aoY= Received: by mail-yw1-f176.google.com with SMTP id 00721157ae682-56ce61769b7so31192307b3.3 for ; Mon, 12 Jun 2023 14:05:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603941; x=1689195941; 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=QSGr1AIBRcRb+Ur7L3hOWyc2qTqn+mhf5/YLNQmZcmA=; b=qp0OZHJwYJBDFbnZ3ou1P2Ehue21X+g8zcdgyQxIvQy+nDe0qfAi0dHJH17SnCCz1g tKKUvfmw/BkCu2VWGVC9FTcKBTfgeit8iCuiiB2iFwBx6PIhFHMGEsTNb4ySvFT/d3ft wztSHCS6L0P5NyGlzSq35fcEZtgvv+BauybZ4ibvcrCUVHnGp/kHvLFHDT0vMZoFlpUX ovC+Ec8QSOvfx2fBvS9GXwZis3S10LP+c5zNsCcscOq3kZyLxngh/87tdHFT9B3GKdNj CWUudKrbpvmp3qcd3NPPZgIOvQGRSzySt8ja54VpNcHj9wUPZRrXlqZutJQePE3+1Opa Ut9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603941; x=1689195941; 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=QSGr1AIBRcRb+Ur7L3hOWyc2qTqn+mhf5/YLNQmZcmA=; b=gbUsQotfZnyZKXx5UT2Tmc+cLJbXnJfWL32IFJQbzFxbYmc8vXG6eabvTt7zldlXSH 6dtrBzrZmO4XxrjBfpy2PIOw5sQEs5N2lk0t/fB2l5KlC8Ga+VQ6m1+tsi+y00AHD5hY 9RQDgS5DB1O03mpLz/QM63Y6O3RsHTq+3TITXEhchOrqhF8v4MsqH2QaT7aX3kqUwnNP mmUg+Wq6pMsCw16O0uQRs6KoeGQNL0ispwfnlzcAopH1Jp5kJuffqrZ89FFTJzvCbIBk Vsw/6qN+fSpDgX3D5GepYjXIMP12hEeNiWsc0O4prpMNgU5gwn0H074p0ZhGSO4HDiqY mePg== X-Gm-Message-State: AC+VfDx0E1CDhLackiLjqfGh6W8nI5uruke8k/UuoJMoC8eDHBIxcXwD fM4UpZjpHE8goGVCg+vR3NU= X-Google-Smtp-Source: ACHHUZ6f4dQwcKAKk/nBaLFqSfud3ZdJTCw6E1GbyeLYv9ZLF94Eu4p9/l66ZpbQ0joORm5hDbfhlQ== X-Received: by 2002:a81:9e53:0:b0:565:a081:a925 with SMTP id n19-20020a819e53000000b00565a081a925mr2763652ywj.29.1686603940939; Mon, 12 Jun 2023 14:05:40 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:40 -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)" , Dinh Nguyen Subject: [PATCH v4 27/34] nios2: Convert __pte_free_tlb() to use ptdescs Date: Mon, 12 Jun 2023 14:04:16 -0700 Message-Id: <20230612210423.18611-28-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: D0DFF80007 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: uehzd7x1ppf88yuzme3f57znwyttrs4c X-HE-Tag: 1686603941-488905 X-HE-Meta: U2FsdGVkX1+mqWa/Klazzrfs2Jpbmel6NMhCTbFNRa1SY1vldYUv+3RUIqcuhsLjvbcVpDpCLkepEOI/hrdpdErdcvbLNxCqrDD29SIpOSh3Knsz45gMJBnQTGqQXyWH1eI3DS0nKRDPAXB+Gf1pw1+niP7da6XxFgg3Mfy3x6Tj03DwBwdhRM7aUCzKyNYR3arb1rgSnlK6B4sfLCReQ/MvdI4ng2kRZZq0pwf0SqXDXgtPMFq+k7k/neFb5yYvHWGgBIOQq0D/S6h8EgvFMP8zkb6m9qkiE1j6ZLRnewigljYP/PJaV3uHGjWbEMBHmvGOgJg7t0EG0yVUwR/0Zj/zT0Gzv0q5B9PQTBzocuJ3cXUHEwU6xg/OJOHzAUVPdKq4HtRPKcPj3yO/7xYxKT0l27jk+gLUgsPe/2pWCHfkdZ820eO8HJ/4sjwbfGgX3FMH4p86jrL+Yw0E6Z6LjtiG5ZFno3tAjxZMc6vhla0Q49pVt2OAgJ7ZGWWGY9MeoZJvIYHDga906qTnd5wbALgVmPy7nxiMBFsBhszMNn3mPcJI/FW0ZM7w2dsu0JRbyl/dSSmOEoUa5sWQj30l6/72TKh2a4zKgCk9bOFAuqx3W8K4Q8SZ7/VoncMwIkUbOEVTccoIJCKJDk4zfsPmH011Czte5esD+c6R1HEJCU5ezFRsiVpv6cpuXwdNlEVHwsiyliopD5CoYmNc/V2aHGDbApF9LK7X5avdPWDpDKawE8diq809BLRg8wDV8leXJQtZY9S8iZIiHoHpdi2WCeY8kkI4oFxqjqn03N2aJBI1qgppxsKE4iTlmSirBlacKge1BFK8BWTPR2qs5FUo7jiLB1KZM9180IwEIygVABUQrdECzIV7tBXsivu19RvmgqFukQkLva1oq43XQt/YA4q62vZXsOqIzJV2XfI/Wp25Myhz6MdxDhNxWrOtnR9R3/Eg4KZWGLb8LW6doAS qYu6uK7b 6c9H8DnN4+5ZjN49Ip46jWyTosdQy59WA5lx2U0QYhgnYMXk7jYsbnFZ6Nq/rrJTau9VE0iTThAjXOr1pRCmvzJEACXGcnwCZVReuyk09V4AvXm88OOT6yuBVqRFdAkrTL7uCQZ/DbXLN9lV8QDU+Mapch6PSwtzSDjptDkFGMdboD0mRd9KTRCB+5dKgOXciagLPBvrL2gUZKnjXBdERpsLeahv7O/5c9hZ5tp9Gi7iDs9pI8af64KBwwCfPz0ift+9luLposRHClkp2gQ4oZgb34JNE1UFzk4MMu1NGEGi1wSBtmGhyhn8trhFzw6DsQBpePSdDbS1K/1IUmwZB0WQkM0374pVWcrAJjJaMBO3qukVb2v9mXEFvt2Sy9X87/Fmj3CV3Vtoo9nuRPAhdS5ZCrGZv2PrF5dVW3LF+0g9blf4B7xZ2nOn+BQYaIRHrut/j62V0FOrv8NEpHi/7Epj9MPk4hZl9GURT++sdgWj3s7tyEZwEAm9/bG5yQ6VcneDGRPsNTCIYcNW1dvDb19A83vn6ddcGXlS6wnzr6Y1m12p7taPDHdkgYvsQvrnG1Wx6DMVhaMbhIoQ= 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: Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- arch/nios2/include/asm/pgalloc.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/nios2/include/asm/pgalloc.h b/arch/nios2/include/asm/pgalloc.h index ecd1657bb2ce..ce6bb8e74271 100644 --- a/arch/nios2/include/asm/pgalloc.h +++ b/arch/nios2/include/asm/pgalloc.h @@ -28,10 +28,10 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, extern pgd_t *pgd_alloc(struct mm_struct *mm); -#define __pte_free_tlb(tlb, pte, addr) \ - do { \ - pgtable_pte_page_dtor(pte); \ - tlb_remove_page((tlb), (pte)); \ +#define __pte_free_tlb(tlb, pte, addr) \ + do { \ + pagetable_pte_dtor(page_ptdesc(pte)); \ + tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte))); \ } while (0) #endif /* _ASM_NIOS2_PGALLOC_H */ From patchwork Mon Jun 12 21:04:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277372 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 0A865C88CB7 for ; Mon, 12 Jun 2023 21:05:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 74F49940020; Mon, 12 Jun 2023 17:05:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6AFF494001D; Mon, 12 Jun 2023 17:05:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 55120940020; Mon, 12 Jun 2023 17:05:46 -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 42C5894001D for ; Mon, 12 Jun 2023 17:05:46 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 18B47120327 for ; Mon, 12 Jun 2023 21:05:46 +0000 (UTC) X-FDA: 80895327492.07.DE68965 Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179]) by imf03.hostedemail.com (Postfix) with ESMTP id 07CE82001A for ; Mon, 12 Jun 2023 21:05:43 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=iC1t7ghf; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf03.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.179 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=1686603944; 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=K1x1J4vur13K6ienQiLVxExje9aLbKUsjVFvIhcqO10=; b=vSoSK7ogE2TcTug9ZQY6vMn7NCU9lP/QCiiyDLxbkIAcfGElmeB1hjJ5FtkroD9B1VLMOf eSDiRHss1ybK+x+LZ18D71YezQPXHw70Q+vZArR8If1IbfOD4qi1sJUdtcJx3VHLMrxe/n cabBJKcoI/EhqoUM3het7cLuTf82oYM= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=iC1t7ghf; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf03.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.179 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603944; a=rsa-sha256; cv=none; b=acDaw/iH7O4Xzj+f7QYAGpwGTurOXiSyQPxP3pR/D0CBarbxiblRVHing/lWfJ1OUnDkvq D8Fqctr1Le825qaT0JQb3DEEMHu7DLIaXM9HpPYLUmuskhDLdXEXjkh93qRjQGm05wvB1C ZqzOe1W38+ph7TffrJAKo+ScHmCPw74= Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-56d2b7a9465so15634827b3.3 for ; Mon, 12 Jun 2023 14:05:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603943; x=1689195943; 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=K1x1J4vur13K6ienQiLVxExje9aLbKUsjVFvIhcqO10=; b=iC1t7ghfm9ecJs1x+mmEzeWS2SIjJKEgK7bxy4oucR/f+MfVZU1qsYKmxWlYK3St5v mfNdwnEbyVpOCAZkZBQocohQ9uTAKfouC9/50tiV+ofF8yr/r0xQFvh1fNWAqMX4eSyF ymqrJp033zjJJcGcMzZXmmZ/yN236luhBhvJ80nOlgUY6UjLfyMIfHGDH4uYCDgG1Yuw Qj+o3ciesPmzibkl2iqbskrx7aUBCJV6cn/sc9mp4OIhLm5DRTHYxNGTzKEY2jXsQ3j0 sN44pjWt5AeKRt8Gf4eHzyt1HMP4kxf4IL2Kuq0LJJYg24qsvy+zvN4scp5/4UYjNDhu bvPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603943; x=1689195943; 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=K1x1J4vur13K6ienQiLVxExje9aLbKUsjVFvIhcqO10=; b=cW52vmCbJnipTheKursgNvAgNJ8xsCKw2qej9ILz1Tyla8EHhgkszcOltGzyl0ZY7L 8pu3ubWacHJx3DN3oPI9C3AsJa+CUhcAw6gPnfUtHHgtyEYP6sYv4GVQaE0A4wakpG9p y0hcr3w85JZdNwVGl5pFVZcbfiw7O+hMw6HZm+SDefvE+apBQEt/W4/3wEvkZN9ClFge rOfzyp05+mx+WahUXZ+kA+KaR3+UrA4wmXUShjfB0gvqUAUMmObuZMtOReFnrma9Vvlk PirGs+WFLaNwPe2pvS2VeBZIKV7djPJSxAlKcuaTLn9tfBmuu0rEzpjMd1TRAjp3kruM EfMQ== X-Gm-Message-State: AC+VfDyakOinn7SoCNX0APgxXZ5gaeR/48Q/eiZUbUoXh5+c4ADz9BVy FT36c+b3yI/w1EyEyU2v9LY= X-Google-Smtp-Source: ACHHUZ6tVrzAvnvTdjXheXo4jZ8pT12rQpXHIkWfs+xqz819sAsyiOSj5h9nxDMqGOKxFovlbUa4wg== X-Received: by 2002:a81:7542:0:b0:56c:e706:2e04 with SMTP id q63-20020a817542000000b0056ce7062e04mr7796917ywc.0.1686603942966; Mon, 12 Jun 2023 14:05:42 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:42 -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)" , Jonas Bonn Subject: [PATCH v4 28/34] openrisc: Convert __pte_free_tlb() to use ptdescs Date: Mon, 12 Jun 2023 14:04:17 -0700 Message-Id: <20230612210423.18611-29-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 07CE82001A X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: juwx3uyufjssrmqhuftrewm89fsayum4 X-HE-Tag: 1686603943-820142 X-HE-Meta: U2FsdGVkX18mrykN+uVna1FiSVFLJHcZEl8NlYrVcET4eUzlHLqXKgaeRNnsDcC0At5jJTPkif+S88ISe1l8zsjijtQURk1y6LegpCOi0bqRU00KcZL4hcEe9+SXqgdLjDeYnoyC0Xzso2f2ZO2/nW/4xVpQ+aSeWiaVmwK8tPqRxraW6VV7s0DpdeQ8fKzPTedYyGZBB2ZPeXJAyXmdx55X+B+CK+/S40okObwsnfrZqnFAZcEkewrswkLFgqNPqbBq4QtOo6IK45W9aYF4uIhSnXCM+U+zysr7XtUSwpVf+TL3NQ2YTMkCK0afFiySBx+XmDAX6aSLyEIN8KTkuitN80J2mQ0D7ti9SjvD1FSFjAu6R4YWtYLv+NbrFeOPQSr1bFagQAtMiVW/8YabyPgi72As01/EdZPGzS94u2PK+W7Z7SVLllnGpBgSDJ4n2tmtGz7owpZex7nklilNqugDA+VWyoc6ocSHLJwEhok8YNgYQLFeZCqAHNzT8Imfm/3PGl+MeOCgVPLNpgxOnIBVyO75dH+wiUWxPBbYLFuJpPxnI0wquduFlVX3u8ty2ZntdihqVUmyxVfOEslgKDCZm/hx0fZ9hR3V05kWQE4RKDKl+I6heR8KVZxW3LaX1b+7HXsS84YXf+UFnhn+dY1vAJ2zV88i0tWe5AUQE4l/GQuaBCAmI0CRuC2/Nro3utL7Y036wbR6Lb5z6wuhtz/wc3m8ayREX2obupBCsYDosXdKrg0cKQZD+USA8yp7CGEEUPAyJ/gZFUEyrRibLPNtanOeEokf3fH6Fmb3BgJr14WlaeZr+ggv42DLcqMbFK7MqXVoPamgrYylWlTOGn/6SV0igoXr0fRS5R3EesC/eq9bOdWbXhRS17t61/S2Aa1nupfKEIlcUpX84RINVQuKp1JFV97yPKGommMxtr27q2MY5PWMIsEmD0yzV+WCFv1+17IJWi+GDcfum6u tf3NWa0u McR9qwiqHiecMHkcDUtRX+rnj+gF3tJB5Ct9B/r9Ao8sOH6MWmbpg+qfkm392i0l+ZbZw6LVgLg7zctsQEmwsJg4QbpefidXfHacDLIU80DAGijNsdEWf91rKEwI6nKxZ7WeIccNJ1eNBNSQmo30TYzJ2Bd4xI8nsnbZn/kD5n+Fznk4SuCFaNa2Gpr1mwl1za8Nrww5F/YN2M4QIaUPbaq4BajetL2FH4T4LTSvkEWci8/SOUF0t2pqHSEshSY47qR0Ayfqmo/dAq6KbYpaPPX2x9fHCUUPvKU5uV/SDVvSSeqIruVbEMnS+WzO4msCkuMxquu2S7ERKSDv456mrZSC+6G/aoWRyqvaTQpGo3CxcygszPac2GgT1fc5iQlaWgJlZl3wg00XptfuTFl/5ZiS1mcRpsjc3Gl1VRFPoBGK7xEBSskx+9yJ5X7O4gJ3TBnlyBVrb9/3pruYjEP7PWNH8GjN7n8DLE1cymXn8QcJQGmy7LyveT1IDsobkf2bPqY1XphrBtTuCljmUdgTGNJdH0IgIf3SrMIhFMx7eCfokN0k= 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: Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- arch/openrisc/include/asm/pgalloc.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/openrisc/include/asm/pgalloc.h b/arch/openrisc/include/asm/pgalloc.h index b7b2b8d16fad..c6a73772a546 100644 --- a/arch/openrisc/include/asm/pgalloc.h +++ b/arch/openrisc/include/asm/pgalloc.h @@ -66,10 +66,10 @@ extern inline pgd_t *pgd_alloc(struct mm_struct *mm) extern pte_t *pte_alloc_one_kernel(struct mm_struct *mm); -#define __pte_free_tlb(tlb, pte, addr) \ -do { \ - pgtable_pte_page_dtor(pte); \ - tlb_remove_page((tlb), (pte)); \ +#define __pte_free_tlb(tlb, pte, addr) \ +do { \ + pagetable_pte_dtor(page_ptdesc(pte)); \ + tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte))); \ } while (0) #endif From patchwork Mon Jun 12 21:04:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277373 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 0C2E1C88CB8 for ; Mon, 12 Jun 2023 21:05:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 63D99940021; Mon, 12 Jun 2023 17:05:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5C5A594001D; Mon, 12 Jun 2023 17:05:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4406A940021; Mon, 12 Jun 2023 17:05:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 34EA794001D for ; Mon, 12 Jun 2023 17:05:48 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 023D6802C8 for ; Mon, 12 Jun 2023 21:05:47 +0000 (UTC) X-FDA: 80895327576.14.82AFB9E Received: from mail-ot1-f49.google.com (mail-ot1-f49.google.com [209.85.210.49]) by imf30.hostedemail.com (Postfix) with ESMTP id 3215180011 for ; Mon, 12 Jun 2023 21:05:45 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=TKVGiilQ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.49 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=1686603946; 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=RAmT8w/AncpH6QVoSIrvIComylZ1SrhYEKCy+DX5WSQ=; b=XBkyqlDIQYo2xQu74cIE3wojt0upkoXnqd1jXvScXm2D/7fJsvvdk6cfPJBCiDx9cQAfMD bM5vjS1iAdpFxiSUxc+CNNM/kqWqKwlqrNp+gHyIC7HtZcyaAn/eZj/v0xePbhn8T8KUxJ NsDJuEz5ApBLhD5+zZp9PKh/Ct5Wffk= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=TKVGiilQ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.49 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603946; a=rsa-sha256; cv=none; b=g+mTmbo5M6MK3GW2azCbFxiV/FuaAyNUKbyGDZYE63RU4i9Q9kJLhz5I39FLTFClwQAdU0 Ek8hmUJt9kIhsVcYgef6qxzBVjfixMvurwHaSalk8sNnhrQ2gUKMikDYptbkbE1ovzYYBy fQR6i2AQr4yETL887d0JwEdS0P4lrto= Received: by mail-ot1-f49.google.com with SMTP id 46e09a7af769-6b2c6238cf3so2142521a34.3 for ; Mon, 12 Jun 2023 14:05:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603945; x=1689195945; 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=RAmT8w/AncpH6QVoSIrvIComylZ1SrhYEKCy+DX5WSQ=; b=TKVGiilQ78a/OhIPJrQkIG23uSCTs20i/bAbbkbs/oLPcc63baV2HRxlfziGdsvmbT NGwmW85cSCp6KespeqLEesubwuI3LepWWanH5S5npuzVlt9k5eU+arhtadffMS44bFKz tZe3hNLEkkGFlp7EldonlERGCsKXmABWlm5tuivlOHa4YP48jZLg/NXNUT6fL0OAV+la FfMXzF6x14kaKnLc9TNsZyJBWsa9Csrn4MI3KMBJ6+29vVkgPdAEbVwqoitINTtP8h57 PClm1IA8Ha5Fd3vbc4M29HaqMx1DRRQlZyGElsQzM+NPYmwv6tn2zngJCKwAeXiQVKW2 CRrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603945; x=1689195945; 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=RAmT8w/AncpH6QVoSIrvIComylZ1SrhYEKCy+DX5WSQ=; b=kS94TG+xuOHhuNQtEUS+EMKJuiVsf3iPh1yw72qkCpn9QoUmxvuHDThSjaolGmplCu o70nphZ4M+OEuTOyunsHF8spRcYiM4Gervah7jbHHZZPFPAvTIPQZ0SJ9rLNVDoqwnyI 6eombBCr48pC0lYudhOEo+NJ44rUGzO84pCmr3jXMOi4t1KwWjD6Z937A/mAg+Az/jEA M7UwAqEGel1VoMt2YvB6U1i+0jAaXywzTSjGLXpXOVprtesviRlxn7bpb4i+gfvmLZ57 zUp3F0S0Rus/qpSQfCEtNgxu/LFM03AMoRzrJm5Qwr75r8nO6mHaDRC2PtXku3qWxP4R GcXA== X-Gm-Message-State: AC+VfDyf4Ngk8vTektI44rvCIY0hkCmP0YFLs30TM/dOchT8sDeiGq/3 5YJ4ZZz22DPGQ86uiCpjIcY= X-Google-Smtp-Source: ACHHUZ47i0W41PgLnIyz22Ca7yXJDqII27mpfISq9Vor76sG0Ii5GTRFPk+r3wb8VVa0pQvvv4TjaQ== X-Received: by 2002:a05:6358:cc1b:b0:12b:de97:1be4 with SMTP id gx27-20020a056358cc1b00b0012bde971be4mr1697129rwb.30.1686603945076; Mon, 12 Jun 2023 14:05:45 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:44 -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)" , Palmer Dabbelt Subject: [PATCH v4 29/34] riscv: Convert alloc_{pmd, pte}_late() to use ptdescs Date: Mon, 12 Jun 2023 14:04:18 -0700 Message-Id: <20230612210423.18611-30-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Stat-Signature: itcs9h8nnzhx6mwg9qebby5m5ff6ytxh X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 3215180011 X-HE-Tag: 1686603945-800241 X-HE-Meta: U2FsdGVkX1/P8/Aaa1FY2SxgIiJJMu+du2frWpfLK6tCT+9St3xX/cmuyAlzKtByrAi24S7gLC3WO1/zOmM0D+2gIhhFP5chypwRlLSGGNiufRCAEeoZoB74OkodQUfHMZdqa7uTrr5fcFUf3OfZHrKJ4tOW2Q1EmR9KeGYFuoOiKSxC/0GwcP43E5xymVYM+YKeaDWXcsdBfpk5tF3SfKehulXqmQ2ARSRXiCcp7O9HyiWAkmdV6fe2faTUXNmJI+e6e3ipAeEzyWkSz9pafodBvILa7M7lwTwsW+ObT3iBuDhihkFbjU5ezW/pTphFrNbqv6k0d45Wy8Wut+LvU7ftr3H9IEJcKeXXovHlVEA7lsJOZpHpdqK0oE/bS4u1OJzWBpVxyjj/70i5iWEhIuETWg79CGQAi+iwbHdcs3kpP78MVFqtQxkdZY2pwRXr5xxzWy/FPmRYZYrRqUfGUOnB41M4H3NuSn4KrqzqOZvTRjXLRq6+fHN+7hWKk70AIP5dt78qpVtxTqUahw66OJixEqOiQu51cyljWGQXB5xbvZgy/EkbL8j45vf2Cpxq5qzKRuzss8tRC68tFmNvzK23/ZALKWcqaiUUKw/MhLchqEPkVahrxMM4KjUDzWsRTfowGfJLD0JLyrpJTm6zrz6zUxgBhr2wDV2F7UflTF8sf1XUP2FuLzcTGCF9hM6anzo6AEe++7Mc0islPCTIVC9IX5RuV1FWRyf2ROT4uFD5nUPoxEl5VtJPDFmpC4t+BDur9uBsJZcs9dA5vYYRlWrOap2rtiXQb3JtYwGlZXjTehbfW8n7XIaYnJI6c0ycPZCA7IbxrQ0rWju1bmzR6oN0CkJnOyG2wHgMrLUtQn4KEsa5yZOxCv8u/sMpGRYxzfmvPbJXWA/x3wTssRJWXprmmm4z8h1lakIKgultGobqo+hQGmXpgRCA3WTctPNbPhws/8IyvuIGBEKk/DO 9dthZAsH TfVfhhuSVuikxZeWfR8+7Pn8HXHcoKvF98Nz5+DUQVhMg4GKcRczXb+h7/zkE84kmaHwGTv+W0f/JZRNk4NFVzBNsCvAeuoUJBcxHB3yzaoQuYb2g0Zx+oeHYPSZpUxJLdefhAro9xIQsuPF70xJ3+og1CFEJpfRvAf+7eHsVNcLHh0z050zjY9/ABfTfZFKEGJ4fqzpcsRFGDGzDEOCQnHxqgfHR493sdxzRHSbzUjcr7S6uyLPYA/uiI3v6JW5bXZIIxwGPxDTSO3lqxH06Fz2QHmpAvG60Iv3ITFhmd8gqHbfok0/A3AGeiFtj4zIXU0bvTfCMssfROtbcn73qzjCPBrsqLPov/CGVQ1ZEYqxZVB1Txr9N6D4Tsz+qqOPorRoGInefSB3bL4C44q4klHP5GL/zyxk1aHAcOTenfAbHeuqca6rWIZjy8I+x/Q1sk4Va9XGc18D0KPXwTcjmnQRGV2v6csEIzOVzyulh9BizFtGMaqwXl5MEbCtUVllwZMs4t06tsCvtEw+x2vzq1BA7fxjpTros5r5utXmS9K84wxyPN1xStXdh5VT86E5wBJOahveMiA9foVOISDu0ZEdrf39s76KTzE2K+6Shz5fZ+uwfwKfVKz9ELAQYSX4zxncJ 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 3d689ffb2072..6bfeec80bf4e 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, 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, 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, From patchwork Mon Jun 12 21:04:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277374 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 266D5C7EE43 for ; Mon, 12 Jun 2023 21:05:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7032A94001D; Mon, 12 Jun 2023 17:05:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6B168940013; Mon, 12 Jun 2023 17:05:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4409794001D; Mon, 12 Jun 2023 17:05:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 2E25A940013 for ; Mon, 12 Jun 2023 17:05:51 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 022B314034C for ; Mon, 12 Jun 2023 21:05:51 +0000 (UTC) X-FDA: 80895327702.15.37F9904 Received: from mail-yw1-f169.google.com (mail-yw1-f169.google.com [209.85.128.169]) by imf18.hostedemail.com (Postfix) with ESMTP id 2B8941C001E for ; Mon, 12 Jun 2023 21:05:47 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=ciZzI2nn; spf=pass (imf18.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.169 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603948; 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=CSn6cSkj4IeRf8/BsqHClLl3fDsZeC4rpAPYblqUB6Q=; b=vdSwoG6xgn7bNmy0GywRGzgyHNOt57BpdzLTD6o6+Sg7/oYmz9g+gtHfbu9kBoM3BThgqi xCEIDINQ41MjfAeNDLuCP3pGuZjTJTKgEKM9BR9lXfS1+c5uY9KuZs33v0j4oAr2cE5uOR fXjA2VdbsKekl1oQ/vSSVKwwXD01OTk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603948; a=rsa-sha256; cv=none; b=yOXSw3bAdGrLjXWOzvbk1QyeeEYYjn9vFaSTzJSDvndKxIc7RpZ8YpoGyqNvCiA1UrEd+W PTzCA4LFExxj1yCnJWxvxiA+9wB0RUELNvJOx4MtydrHnq9m/7KARsqkCtSXIvbd51wWba OdSZBFve/jbtRznrx18TLSr+sic2GJo= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=ciZzI2nn; spf=pass (imf18.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.169 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yw1-f169.google.com with SMTP id 00721157ae682-56d378b75f0so11686497b3.1 for ; Mon, 12 Jun 2023 14:05:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603947; x=1689195947; 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=CSn6cSkj4IeRf8/BsqHClLl3fDsZeC4rpAPYblqUB6Q=; b=ciZzI2nnG7zqntS0kYws3Bstzr3nXcXM7AVbRLfJcQTue8B9i+jyLvzKLDy2A9P30Z c8kXhocxLYHnQ/QqwZQBscO/Jnyd5DcosG/E4dwS3uAecJsY0Ja9Z3xqw7MsgC6nHjA4 QA0ciLqLZYMqWOytaJmxjnukXuzthDnZTPicAtRgEtVTuV0GYf1zJiBPTow39XMnG090 B3bVtajux9wQLuem4VZP38wdaF1Bx4OpAJ5RgPldzLuFMNXFpzdfCqZWClGqvnQMYt00 /HHhjhqAxABJiO4Fj5XqD6Wx6l8ZOt09hebTgkaibUDXMgVCd7dGCAjsjguwOTWs8p4I GZ1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603947; x=1689195947; 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=CSn6cSkj4IeRf8/BsqHClLl3fDsZeC4rpAPYblqUB6Q=; b=gXirioHk9KZOLDYUZLrGp487Y/JGAGTnsH0ZFrbEM2UCG5Qp6hREODTYuZE6LaEwbm DGJOjwCb/gxU/Qzl92qIiqNflTaJBktC68JF26X4HCI9YfeVVqQbPWCK4cVqgN0FV1Pi yN4e5Xd4daAzlQkhm6Bdf3quzxs0mU1tY1FZJqdA1O7WJD8nKWn7oaiVdce3CyGEQ0wm DXOildx2xt0DlJWPSEdz0hXG72zQa6WVzZ5oYdqiNlsV6E7qit93J5isVELFBQ2vn6sg XKGWu80Fx4mF8yFOkiphLxBA3+HoFejBPNA+cvKdtfdODXj98Uu+N3LYeketbYU+Ypcy edqw== X-Gm-Message-State: AC+VfDzH74wnSvdLOXwquKXidYYT9l6Yr1WeevuyLgyP8OsYLpMY1dRQ LIETgUoU0ZedQE5uNxt8+yg= X-Google-Smtp-Source: ACHHUZ51WXkZSpSQz/Euz4h9t2P7hzzB/r3I54c+WRfw9gtRQcMJQg//XHj3D4qG81G3nuV3fW1fKw== X-Received: by 2002:a81:49c7:0:b0:56d:540b:ed07 with SMTP id w190-20020a8149c7000000b0056d540bed07mr513566ywa.48.1686603947200; Mon, 12 Jun 2023 14:05:47 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:46 -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)" , Yoshinori Sato , Geert Uytterhoeven , John Paul Adrian Glaubitz Subject: [PATCH v4 30/34] sh: Convert pte_free_tlb() to use ptdescs Date: Mon, 12 Jun 2023 14:04:19 -0700 Message-Id: <20230612210423.18611-31-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Stat-Signature: xoso6m74aqmbd8eubrtjkoj7hos3cbgm X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 2B8941C001E X-Rspam-User: X-HE-Tag: 1686603947-788972 X-HE-Meta: U2FsdGVkX19hMsMBCL/igTvBB/QvGbsqzFlxXvHknUT6xEZCyDvUJsBHZ6Hcns8U8hI90K4H9CKClcYErmypVex2iLR5Zrys88UR4Fs1Q1ch4ftNstnVXzWs7/dtyR8OI/wMIJFbSi++n1J4zzCiZY8PXua5MRGPevW4sJcQbjU2kJyz0j1qJ2yDk2cjKnBZYgPuwPsjG1mNtEMUci4TmEvUlFRgyzKTY3Q+SU2B+rOmN6L7wJcAONfuv+eMr1zLAyjYzLPartR/g8aF2ELdahcRrm5sWhiT4PSu3Fz3ba0Z1wSuJWgKKdZqxfq4h8wtmXOhqleEvt2p2RoUT+DanCCRBX88rbZEyfBVqeV1B369rzZIk5HQv0+4fvKh49iLjdkepU23H6wm5N+DZNvOkNm9Yyj4VnDFw6P36lo7/CptYGR5ZgIN5/ZEtc0WDM8syFEhdz0RLgTVmKQowpLTCR3+lUCHMvvUWmuCiQdv5vZXpIc94OTz2ANY5O42XPlW0SN9RNPYZp5xNZxE6f+WrusyFz7BbGsYTOVFlKCg+KadE7ySNyw05eihYb0LQbj0q3Th5Zr/iMiDD8A1DX1HyzXmuKqEAOZwBr79Ajog1UAazQ85RsiYS+TqCy1GmDgHElaXFEry20YEK/mI3uPqGC0s4v9wOI6RL0IRdqsMjzMGcnMUiQasB1cUviuDasUJMd+RgQ1O2K7DiKUErSbhNYpylqeMxvO95469fSD9oCIGe3EwQjIOBderZ9BfgYFwIH20wcmLFQmtY+WqssL351CgAIlo01qjcM9N6q1QqySxFbfzQtiUz+odFDpFiPCg89vfwF9eUmlGRqw7CxqZy1NVBjRcGqpthfO4jS89bPDFGzdDv7Aps3fs/ikOumaHCr2InIR+KgunM0iw6Wi5Hn+dlkvyMkTdLDw0gsdYL5xXMiq9z5jRW1M+u7ghLqLVGWkqyvt0hiBRS6U60Bj 3ZpptuF3 JNZbTEtoKiXcZa5UM0inJSFWhBrLInc86fNLKmAMxnO/V4UMX6/nJlJ9hFWqoGZpwpcQwgc7VmoceYJZvaFk5qpJVcEseJ+Q0NVMzE7dZxZe1ddLrVSaeWASBr6B+eP/RW131dG15vWOcJlV2Mnf9K/2NWXk4wyd6hzCvDYNNs21IjrNIqM41RzZRRcrpPJYImsvGl6sMFmJXy5Lzh2//ax1ICjtTs2mEl8wvhWAkuuz2kUTY4PFzUDWHzt5k75b5nc4yl7NO65btV/5JibG4YP34MKl0UXX8M7fK6sL26UxoHYhsTWOIf0erZb1NdTUnneBVMkMzD5FXUipTb94Nsua9qaVi4GecNIcBH83mpuhsSPb0pJOvwe1fGux6WnwlniPpb9UlQ9yV5r662/PUWFn8rdBOVlKq74JcWazdG22QSa0DI2y5vtokSzBScFggnJUJ+FXeB4sa8T0b/bG7FVU6BU6uXAbVPft6dF7BhJ+W7Dymjg1etrbDNeYJECkU7c2g3EeS8kIohIfU/2+Ub0Rzzq/ZwxMHhS5q2XwP1nPXQMuV8uXJnKzek9J9LnSfqF5huB0zGajuGkse5ALMc6ZOpZuzZTSb41XHWbi4EQcGApT0UGd700WaMA== 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: Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Also cleans up some spacing issues. Signed-off-by: Vishal Moola (Oracle) Reviewed-by: Geert Uytterhoeven Acked-by: John Paul Adrian Glaubitz Acked-by: Mike Rapoport (IBM) --- arch/sh/include/asm/pgalloc.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/arch/sh/include/asm/pgalloc.h b/arch/sh/include/asm/pgalloc.h index a9e98233c4d4..5d8577ab1591 100644 --- a/arch/sh/include/asm/pgalloc.h +++ b/arch/sh/include/asm/pgalloc.h @@ -2,6 +2,7 @@ #ifndef __ASM_SH_PGALLOC_H #define __ASM_SH_PGALLOC_H +#include #include #define __HAVE_ARCH_PMD_ALLOC_ONE @@ -31,10 +32,10 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, set_pmd(pmd, __pmd((unsigned long)page_address(pte))); } -#define __pte_free_tlb(tlb,pte,addr) \ -do { \ - pgtable_pte_page_dtor(pte); \ - tlb_remove_page((tlb), (pte)); \ +#define __pte_free_tlb(tlb, pte, addr) \ +do { \ + pagetable_pte_dtor(page_ptdesc(pte)); \ + tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte))); \ } while (0) #endif /* __ASM_SH_PGALLOC_H */ From patchwork Mon Jun 12 21:04:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277476 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 CE0FCCA9EA2 for ; Mon, 12 Jun 2023 21:10:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 662058E0003; Mon, 12 Jun 2023 17:10:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 611AC8E0002; Mon, 12 Jun 2023 17:10:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5000A8E0003; Mon, 12 Jun 2023 17:10:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 448B98E0002 for ; Mon, 12 Jun 2023 17:10:59 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 0BFC1A0332 for ; Mon, 12 Jun 2023 21:10:59 +0000 (UTC) X-FDA: 80895340638.19.2F09E23 Received: from mail-oi1-f171.google.com (mail-oi1-f171.google.com [209.85.167.171]) by imf02.hostedemail.com (Postfix) with ESMTP id 2398180004 for ; Mon, 12 Jun 2023 21:10:56 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b="ARcBZ/w+"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf02.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.167.171 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=1686604257; 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=z6EpXhLB/ZnHGYzIKEyphwqiyS9zUDTms38NuP0TFmY=; b=mzoJdF8GqPVbUdAW7gubBjjhE3AeU3SL0g6SRY+kx5xrF/NhzmiVJJFVocNvgMt5GTn+aI PqpFAsJr1C26kTLsVJBIfCm6fw3Q1+5jBdI9BoTtTP3ek3faZITvxx4OIo/7m187KTVATq NFH12TNfK8bVodL/0enS9ioYjMVAe9U= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b="ARcBZ/w+"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf02.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.167.171 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686604257; a=rsa-sha256; cv=none; b=YRTg1Lm8kM4vFExj/+evnD/RzXy8guBAwQUCU1BHr3lR/Xu3X6QfUpkhR5Cz8ewLTNo4gx VOh/16Cnv7EfRkiLuG8NNzvBpjuGfTKg8hNnIQpeNoRi3AucarKPjwAR8FW7r6mJNusatB S7F+bjsRPDm6CQRYx3uTDCk2C7CjJP4= Received: by mail-oi1-f171.google.com with SMTP id 5614622812f47-39c84863e34so2974166b6e.2 for ; Mon, 12 Jun 2023 14:10:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686604256; x=1689196256; 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=z6EpXhLB/ZnHGYzIKEyphwqiyS9zUDTms38NuP0TFmY=; b=ARcBZ/w+ET6+vo/M+ZNUWyvOFXjH3ciL7VK+UOaTs03oCnb23jE7dCJAxA3UCkikRc 2ST+cZ2kauooiUFYSd9t56X/ZFO6QR0+nOqr+qX/JXVSiW4K718hDQ0USAEtZ4tyPw0w Pj7wHQLMbUPe93apSUMuregt8Xl0CgfcxLq4QsIgJ0wtWJ1/7Np1r80Xnskik8O3XoKD Oc/29A93BDs3V7buyiV15mgP/zmA050DPJSziskyn0H4qVUJY7A8Ctj0yrRP8t9Jm+Lp Txp3blP5noiGKCrfuDEvxwwnKz+4z3oC0jMpIiI0n/rwa6zWKXk0AFW6/uL/MuglJ1GN y1WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686604256; x=1689196256; 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=z6EpXhLB/ZnHGYzIKEyphwqiyS9zUDTms38NuP0TFmY=; b=BHme6ydi6O6MO5Er1ZzAgnnHDr2n+RzJqgb9YIVqBt99DLEiwhOEJUxfRfQ4t9uVi9 dMs6oMwle/doDT0PmofUXbN/d7NCfq1FSlhoWodHAqU/elvC8nOnCtMsoLa/Xafb/E7o IiMF5mo3GH2YswMp0SxuMqVR6mNhbZBK0LDCBTH0lLL6T4UasDIIsMr1PinjNPM4kYvn LVTd2sCguf9KM4ZceTmYONAr6oDUWw1EwiE3Le9o30cNhPia+FDrEEsG9CU4XepjQKX9 11/n2ITud7yHuMMb6KVvAanoGFZrETlZRoB03eTuPF/U/H65Mg157h3Tc2iLIm0NP+Wi 8KZg== X-Gm-Message-State: AC+VfDzLM6sLVr4F65ax+2xmUUd/VWPtRrSVHhWLugMYVCGVO7RJvYt+ 8gf1PNPt2BpFUHsCGDkMFASDIrU5ctfOlg== X-Google-Smtp-Source: ACHHUZ45RyLy6yl6Drr+w1zJryROJeWNSP67xpIchmrzxG/I82VOblMbJJSkZ2edvv8Qj+2hZ+73Vw== X-Received: by 2002:a81:7bd6:0:b0:565:d517:e714 with SMTP id w205-20020a817bd6000000b00565d517e714mr7606123ywc.25.1686603949233; Mon, 12 Jun 2023 14:05:49 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:48 -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)" , "David S. Miller" Subject: [PATCH v4 31/34] sparc64: Convert various functions to use ptdescs Date: Mon, 12 Jun 2023 14:04:20 -0700 Message-Id: <20230612210423.18611-32-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Stat-Signature: u1w88hjinbdcp6newt7h5ybhi7epm51m X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 2398180004 X-HE-Tag: 1686604256-593079 X-HE-Meta: U2FsdGVkX1/yz/fqFa4wDHAddqn482+VRZpzZ5K3d7TlpUT6khARjIotHF8CeRMZLML1XNneOukDdzD04U1wXSJVOKwjEHgFSOhqkFOf1MLK6iOTqMOvEAetENfstn93mVsggLeHPtzMQGWjTUHMdxuOsNGAwrZ1NeCeiABIdl32dCgbhGSURQC3a6urkv6W3nt+Jds8Ux/gLDPmPP2XlgHcr5+5GkknEq2EbJ5d52CZwarZeFhaWz83BzbSo/lc3+pVo6xs6mu0c64cYvscHspuqeQ9evfSHYYorc4/1zNfku5hWnEVGfT6vhnCyqknevtnk9VknvCntabFZbXOu9U8RvT0Zzf3QGK6ufTxK+UF6qK5A9VWcBwPsPZLulEfXorYP3IA54uA+GAUetePghhJaoIXuAES9fFWDEshEAG8vH4XTE7M1yvHiH80LM+KGJfLHYrOrddG7PnKhOqr5N6YgJDMBVUgCGei9Z4wlrE49ypxPN+TUqEBdFyCf+66YP6swvDPIitUmUH57ebPwp1/kznf66LbM1Jvr8YcIf/9b3hemGRlQR4MYUDFhmc8V5Ps6xLyFf/1BHn1S4zme5/XQxIUVuYTEloXroKibIdGF71gXmUXkespBTSCCCsH6p6lfBggksTkj16lxoaAuUlzvSP5hrK+gPQqvDK7nPOJ3325BJri0mZ8jl46PH98ZvCvvFk7c6pVV7nQjLWPieom4xth5W9AtykxAx+boE3eTTyfWvM7F3c5QEEb5ThewsikGwnmPKZYW6UjQEhjWWeW6HY6NEdX7ywEHKzFHBkdaE5if0BLhzdnlp6UPTV5cbUOODr7JLYVKbbLowmyxqlmjji+mPj4VNs9mJhQwumXa9BENAeklJJI4t4KmT+T06wolOl/WsT2NvbHuZqpD/UdylrLbYjUWL6MJjIAXORX2ZGOsEx73rMkn8pnwJ6yJGtIS5OrsOofXKTRgHK UWUrkAKo xalnxZGwPStuveRpl1M2pDt+CZb+JeXXEJXMfZEWqulxUdUie4TsU+L960yTSTnZXrIqxoRi8Dwg37vIJcFNzqPH23lmzpDHF4rBu4eU8cKQ2JjV6OFB2YVqcljfMTb+JJPtBSTaSS9thZIEwZ/UT9pV4UAiQIEMqW6Ap2Rs/9KEecwaiVB3hIf/1vodzvJH0WQ5pz5XoCrzojoEFZhRlC5Deb54n8FHTka3tUX+d1RCV9BH1eufjWTaxtb0FKIvgXorKpDCj0PyGgZOPOlmG/wHTU8RyvToGqURDZRYflr+z27+PZwii2LLZzAQZ7ruWpj+/nvWiBcOeNVvfJpnInXQMgzPiX3whgK3ANRv8PaPUzTyxeJacsXLe+6mceHedOdkqCe/OWujLu52clfJmDnZ1ql57szuICio5h5Id2aL3R9RpEDEMKIsWq2Mf2fipD0kIg4vDwdY+qmB/8FtkGODvMBxPnDbZr67DJkdfgzN/jWKFMmTB1dbWncJeRBpnaAx4LrmYOnu+nvB7EFJE62Ya4w== 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. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- arch/sparc/mm/init_64.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c index 04f9db0c3111..105915cd2eee 100644 --- a/arch/sparc/mm/init_64.c +++ b/arch/sparc/mm/init_64.c @@ -2893,14 +2893,15 @@ pte_t *pte_alloc_one_kernel(struct mm_struct *mm) pgtable_t pte_alloc_one(struct mm_struct *mm) { - struct page *page = alloc_page(GFP_KERNEL | __GFP_ZERO); - if (!page) + struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL | __GFP_ZERO, 0); + + if (!ptdesc) return NULL; - if (!pgtable_pte_page_ctor(page)) { - __free_page(page); + if (!pagetable_pte_ctor(ptdesc)) { + pagetable_free(ptdesc); return NULL; } - return (pte_t *) page_address(page); + return ptdesc_address(ptdesc); } void pte_free_kernel(struct mm_struct *mm, pte_t *pte) @@ -2910,10 +2911,10 @@ void pte_free_kernel(struct mm_struct *mm, pte_t *pte) static void __pte_free(pgtable_t pte) { - struct page *page = virt_to_page(pte); + struct ptdesc *ptdesc = virt_to_ptdesc(pte); - pgtable_pte_page_dtor(page); - __free_page(page); + pagetable_pte_dtor(ptdesc); + pagetable_free(ptdesc); } void pte_free(struct mm_struct *mm, pgtable_t pte) From patchwork Mon Jun 12 21:04:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277375 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 28AF8C88CB2 for ; Mon, 12 Jun 2023 21:05:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 999A3940022; Mon, 12 Jun 2023 17:05:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 948C8940013; Mon, 12 Jun 2023 17:05:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7C211940022; Mon, 12 Jun 2023 17:05:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 50EB8940013 for ; Mon, 12 Jun 2023 17:05:54 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 2969616033E for ; Mon, 12 Jun 2023 21:05:54 +0000 (UTC) X-FDA: 80895327828.13.5F96B00 Received: from mail-yw1-f180.google.com (mail-yw1-f180.google.com [209.85.128.180]) by imf18.hostedemail.com (Postfix) with ESMTP id 53DD91C000A for ; Mon, 12 Jun 2023 21:05:52 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=eOGJOp7j; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf18.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.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=1686603952; 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=jxwTfn+1WulDyktO0TSvPUm3DeZmyyKIR9rdY3Tk+MA=; b=08LqtJVjY6XtI0mC6+U6yQvVDAlZDfYPdgWvCXihdf+RRxPmHDX7Qu6E8HQ9WHgtQ4zT/I e7mdJJ4d/lJQ0BVYUIDwheX9/EPk6cug5n4xyDKbiykJKBEX9s6zTQTMo/bh1oBHoOzwyv 0BDhQGlKfeAsRATHlbsrNWbcGy4OdmY= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=eOGJOp7j; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf18.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.180 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603952; a=rsa-sha256; cv=none; b=QCj48RUYdjXd5BV/YGh55WDoHp6Jz0nfV3GoXJc9TdyrhGXrl6NZ0SchhPYUO78VPHUpEy tMpNeeUcmwybBpD7El5P0G5hstDYl1LYYC+fmzHkRg3Znu0NWUboO2HuX8k3z72Q/Mphnv Ggzc6qu7OrkwenApp1PdG3b9evObNpA= Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-56d3d7a5b84so10008367b3.0 for ; Mon, 12 Jun 2023 14:05:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603951; x=1689195951; 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=jxwTfn+1WulDyktO0TSvPUm3DeZmyyKIR9rdY3Tk+MA=; b=eOGJOp7jJTQ8Qtwco1FoDid2kdNhU5TzJ+8oTbvEbumqL3nQk9f2JlPpUk6+vVBHXw bRV5gt25GkskwnqufNjnti+xZOoYZnavni3acnpZrn1jo+MmuLHwqDsH6AdCefai5bKk AAXb7bC/rUfzM5Y5JNC2uvXF2EwFePa6CfTpeOCze3Q765zcxWqm7xds3eAw0lRtuTsf BcL57/8mkiS9/4+PfEIujQe3OJ/SAHQmhYjUTcU73/gLJF/ExdRrGcc3uAsWdkuXE+Gy 4wgk7G2Doap3dB0ilCFuRYDRNdtR39NjevfAI+zLdtvH3iP4AClD5Rnj/kfEF228LJIt Sr1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603951; x=1689195951; 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=jxwTfn+1WulDyktO0TSvPUm3DeZmyyKIR9rdY3Tk+MA=; b=YJ5D5Oj6dGmERZY4s7/lAEtFQFimez+aiT53D1Gkv3Sv8Z31X60fSb7212iS2rXhXj skfDRMF0ju/4/caX7tJmzfp7nOK29EAFIg4M8DQvsTOJEZ4NVCzJTyXFiQS43zHX1Ga3 1uBoHh3H3QQxeUMC7VA4GMm9l/HP793/cxNvDUuLuhkINj4cNNjgEN87Unmi17z3X7D/ HkofyBEzg6evv3rpAroqVOVrCPuRMtXaUWEH3KkPwbDazBrlzusxDVq9f2sN0EMtVyIF Cs4XZgE4AfY24Wf37KInQO81HJzPwrjZzFORO6sGHOHnCfElWA7vvrv08RVC0pXMaUOD SJqQ== X-Gm-Message-State: AC+VfDz+QEdYJ9HR7qSMf9tJeMC2ZA3H+0wWfsMNPYFfYFkVKuT13155 9pBYR+n0wWPLceuvFMU2JbU= X-Google-Smtp-Source: ACHHUZ46bRW6OF4FDY00X+3CElfC+YpfDtCCDJShqSFxuRDw2O4jHQvSGoeDK27CBT1NdKxGixMjGA== X-Received: by 2002:a0d:cf86:0:b0:559:ed0a:96c4 with SMTP id r128-20020a0dcf86000000b00559ed0a96c4mr10849624ywd.44.1686603951409; Mon, 12 Jun 2023 14:05:51 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:51 -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)" , "David S. Miller" Subject: [PATCH v4 32/34] sparc: Convert pgtable_pte_page_{ctor, dtor}() to ptdesc equivalents Date: Mon, 12 Jun 2023 14:04:21 -0700 Message-Id: <20230612210423.18611-33-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Stat-Signature: whkws55wsoeap517b9yn86gpn31zqyya X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 53DD91C000A X-HE-Tag: 1686603952-940120 X-HE-Meta: U2FsdGVkX19AFFN6UM2TPq8DyjxJgQgOQ9z2i5irM4o4knlOHaljv+rDW+P56XyEkEs0mvk6vLlAyuka+kPgGjw6J1VE3ciK7977p8C014JDTuIBAPqOGvOGtq2Abf5G/4SB4v66DbXIELOe+KwsgBp2nuJzd2kuFVWYq1aCpAQhWW/4o3po+GcTb5YlILOOtwO5f9igE3pWzxvwK1W2Z7W60nKdkIKqfhT7tsRBM/tRBGI8KPKid1+4WLWP0/JnHMLq2Pohv9XKKwnBnpFVsLAmJDHSGqKa6Pfhef3qsxylsApYFljce7Gc2WFUWT8sJjWGhg2wVGIgBNxQKIuihYQLvvsYlibD0DIJr72IZ213zjNt558SQuLqV6rxcNzVS1zwbcdDynwyD5MtmtyOeYziJUw2zP21gPs9ZNLD9zHaTfcCcrTkIw8BG7sEnyKsv7/Y5/SoZOIVF5MTasceN0tZ56e4Zk/1w0bcRCLqaSDCkud+gIMkcj/7MLQ2m0EulJNftGjBmf40cdqQmvA4F8+koIg3Ndr7+RIB9iE9RwDqcoHPIF2F+aozCZ7AO6eF8yu0ik77XhmfoqBdmxy4ncr2nyQGaPggqYyFPnXRXUsb+bnIZI+zPVPS8vJsvmZVMdfe/MvfzFPqut/qSgSgkl9foBY/ayEiQeltfbY29GXQuaDxIl8BBaScb1ELHlLvKFFByGTfJCZIYgo+OLX+e90lqWmyWMcGdBn3DNd+Ot8e3m8lGQwf8ACZEyifIHsOjMN6d7UXjOpuztgTPIqubDflPCXfkxJBko/1h6+9+dF36iGpeqegq6FJ8r+DkhLfM+0xg+nZ91TDZZD1oR5WS8gshXnGdBYpm9+1yhx5NfPTtCsSkFp1uiGtmxm0cmAdWutk8lVlInoLOfZ0xnK2DDdDM0RadQbxwhN3Je7joCIK2UmZa8cC83LCgdIm1DpNkZwrK2LDB3WqlnHFwuS NZ4gQDrR d1pbjLP03Lebuc8u+8mpv9RzqI+XFMI/kVdHig4Y/vlJsW9NdyICaF0k4SBCduL7BmEKqD3fO7Rp3EfjEfNUrDk0i575UM1S/pjxQjm3OjY0bxC8EpP2CglnRtNIU15v49vRsRUJn4EEHKeBOkv5KSyzjywDINixrLhO9yqV1Ds0cP1uyeShl0cmWkwrQGmREOHmvCfVPwcLRlK/WMCMai3gakZI66zLmaYjsW4mUf15RsfgdKTEBIc15IU8ELKED4Riw8EoqIZvfb9FJ2yEK7wjWhAH90FGAIydtOlTONHY/F0YnbtVN2hX+zsigId2vxQW19BCG4iDd4HYjX79M0CvjCgls5Y57qnMpZ0nTPWXLVDPMq6E8aVaulkdpqOyIPvFgkwOQKbQlYUcZTFpMa466LT/kt12Nc9gvXny9ghVGso8HBKzavymPyQ7unqcxohdLkQwVXL6hliRkRy9gbsfT4KcQTD0NkMOH/aC3537DWA0GGA9V0rU1WNYY2FPVTfN9m/2e4JdXDtsVV6mHRvcu5U95Ek2gAQGfQjx6gDMvzz8gUMHxZf+6SSKLwYOKQP+P/eeX8xXN8Sw= 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: Part of the conversions to replace pgtable pte constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- arch/sparc/mm/srmmu.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c index 13f027afc875..8393faa3e596 100644 --- a/arch/sparc/mm/srmmu.c +++ b/arch/sparc/mm/srmmu.c @@ -355,7 +355,8 @@ pgtable_t pte_alloc_one(struct mm_struct *mm) return NULL; page = pfn_to_page(__nocache_pa((unsigned long)ptep) >> PAGE_SHIFT); spin_lock(&mm->page_table_lock); - if (page_ref_inc_return(page) == 2 && !pgtable_pte_page_ctor(page)) { + if (page_ref_inc_return(page) == 2 && + !pagetable_pte_ctor(page_ptdesc(page))) { page_ref_dec(page); ptep = NULL; } @@ -371,7 +372,7 @@ void pte_free(struct mm_struct *mm, pgtable_t ptep) page = pfn_to_page(__nocache_pa((unsigned long)ptep) >> PAGE_SHIFT); spin_lock(&mm->page_table_lock); if (page_ref_dec_return(page) == 1) - pgtable_pte_page_dtor(page); + pagetable_pte_dtor(page_ptdesc(page)); spin_unlock(&mm->page_table_lock); srmmu_free_nocache(ptep, SRMMU_PTE_TABLE_SIZE); From patchwork Mon Jun 12 21:04:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277376 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 33DE5C7EE43 for ; Mon, 12 Jun 2023 21:05:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B200F8E000C; Mon, 12 Jun 2023 17:05:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A5AFE8E0006; Mon, 12 Jun 2023 17:05:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8AC9F8E000C; Mon, 12 Jun 2023 17:05:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 7CC148E0006 for ; Mon, 12 Jun 2023 17:05:56 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 44FA2A031C for ; Mon, 12 Jun 2023 21:05:56 +0000 (UTC) X-FDA: 80895327912.27.FAF2A1A Received: from mail-oa1-f41.google.com (mail-oa1-f41.google.com [209.85.160.41]) by imf28.hostedemail.com (Postfix) with ESMTP id 568D7C0009 for ; Mon, 12 Jun 2023 21:05:54 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Tn4mHghr; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.160.41 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603954; a=rsa-sha256; cv=none; b=F74uSphlzn8cpDRW9NxRWLoUqq+2E1JhVgiGY2oVv2vfPwShkTSzTjTj9N3VQP+0ZZ8VfJ 1Ljr1GJgl0jlzhplQupaSI0BblIiTzhpx44M0aN/Pw9vjBMDWzJhsP/J6EvW7SfLbgNZcJ /nko1lTTiLEYG632neC4jcWGXYEq0Hw= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Tn4mHghr; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.160.41 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=1686603954; 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=cQ/uV998f7GBK3U8fEwXlOSI96PW+5wzkUNMHiphdSU=; b=77OYLagIcgYOi9EnYZwZd6zGbABvDUsPk1k0wMzgaiLyf0P52zgDv/8shCi4sk53ynFa5X hBNLyrCnuyo84RCaogGs//hCBZBX2IZXILOBlWWRiHuFpykqB+Ch4Zi3KirE9Hfq7UQQk5 WRaCdPp8vi17Jt83PgH31hfhkKQiinA= Received: by mail-oa1-f41.google.com with SMTP id 586e51a60fabf-19674cab442so3249655fac.3 for ; Mon, 12 Jun 2023 14:05:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603953; x=1689195953; 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=cQ/uV998f7GBK3U8fEwXlOSI96PW+5wzkUNMHiphdSU=; b=Tn4mHghr2z50QboRcFFwBXnQDC7dmOVTmd7q6odwa9ofCDQNfilhaBNviFDHX8SrYA fagx19tWV5xnG2unDu30AzBD8hFIWArocnuzCUa1K7AMS5VYUgKKhDVTLptGD0WPUw8/ ZX9JliY6gx8+hXM3OztwRe71m1A+kx2eLC7qxtJVOpdoP5HVloTMtr0/abQT4yyYQOzs IVhZgoGgAdf28rfS5OorktySibfeqB5FLW0b+HoIsUsy+Q3Hv3TNg2zjbv2EGrbvSAhn +UJqDlCblQUHBUCUqLriRDZ3qurN8WXPOHGnwhy4vkGIt3E2YX1KhqR56pPwBtbb673W dPyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603953; x=1689195953; 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=cQ/uV998f7GBK3U8fEwXlOSI96PW+5wzkUNMHiphdSU=; b=JVtk8N4+rD22bJsTdgztgpIqMv+ovdHZmPYnhKyuXiAVimCt5eIhBmaT4GAdGCpN9g RyslHUj5eW+nxxFq2tBEvNa/cuzegc1RtFgJdHfD0anhyQ/mmPVZBKspYoQpLmvaSzR6 d8YYPC5uqLpW0eg8z2r35PT9CVL5Kljn5bUSEPEJSFA16W48vpPebA/UBsNI8GSkFk3s Th9ftNwar4coXylwgpCXN743FUoh5EO+Z6+ztQRZkycghdLeY5IDfcQvH97yQLgcTriU 7Dexj80HNJgtknuNgYiMOq4F0TP5o9HgL2mJ4L8G3snwaTbeBQ3HkhMRIho72y4os6tm I7vw== X-Gm-Message-State: AC+VfDxKhS9j0tHP/zFhDxV88SZZkihkCID2C+DEYVsEx9mWH7SuHKwL M1Si48qrHCJbmH1Jra/CzBc= X-Google-Smtp-Source: ACHHUZ4ThTH5LM1afe2PTTFtQ0ZfGkzFFO1FbLLwGaoZUh9UZKP9YYPXqsENj3drsF2z7+M8WUTgQg== X-Received: by 2002:a05:6870:2207:b0:19f:5701:8c47 with SMTP id i7-20020a056870220700b0019f57018c47mr6429537oaf.9.1686603953383; Mon, 12 Jun 2023 14:05:53 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:53 -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)" , Richard Weinberger Subject: [PATCH v4 33/34] um: Convert {pmd, pte}_free_tlb() to use ptdescs Date: Mon, 12 Jun 2023 14:04:22 -0700 Message-Id: <20230612210423.18611-34-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 568D7C0009 X-Stat-Signature: haryuswt4k34r656cumwtfiqgtmtwsfy X-HE-Tag: 1686603954-164995 X-HE-Meta: U2FsdGVkX191crIWr6SOGWMfjiG2L2SFD/TcYEBEzYxSrmeW6iW0A1Zf0GYcrRS0gBmPLiepiZZOP/DfbqLlsXZmbK7kgEnOyACEwLHxr41hCA34mBzoozJr7LEuHKn6CoExqzlqcB1mzacyZCvqexHoTVjVj4B62d/PpvQqp89S3gT4AziXr22KNpfKJTObj+nfih8VYMxbRrJrld600PvWyuDy9j4SKxqI5/V5njT6pxqO/9Ha8tEVjl5ZvuQCcl+AAYQJ9AFLBIFvezRW4Jw8qof9tY82DBlVm8SrLlz7IS9VlsnP7uWocD41ee//KWj7IqB877uKTIOObf2r02BfhX32mFKIxJqX2DVYhNCWBpPeUSQWXwkaEwS3bskvCyUoFlJGkxb2w8X6aoSu70tXtT0w4o1M8Vek5p3XAQJH/O6NBEdU+olvpxHVuF0rXdr+NRwULfHBLWfBqv4fVEwIb+aEWDvI7Fi3l2g8GzO6yqOhEse03y0izioVMC9++MkGvtfnzeOHbzk9KjewE7S6ZPYYuAnWLrBxfUqSa3lq9AvuzPfEx1lvR5LmNmScVfyLtIZFJE4N14l8HFFM2yzXk/ZVMJg2wL+kqGCJztbqWqilx/tbXH58fZDE8tvtWYRTpobt/QBNXFJ3kfMxkzh44aSYKKiKiteFoHBMKmoFCF8UNyNopLitfVjmYO7NPD7k+PQiGs191UMuMY31j6AZEWOtPYO7z/r+DUiDNVHSGoDxYoKhXMuf1wD+pNxBvIMF2EGlUL4QHM3yAEqOglgD60i38GC2AqyjDGFQd5NaedP9xClbMRv35Axqyjquuae27buiZOy/+mf2eQYDh6tUPU+jKWAO5mfcWqP/Ocb6hPMVVvRGVSitrOiUQYi2hl4mEsC5l3a3LW76m/p4AKGGvFUniVeWJ2E6KZ2wXq/La2h0+EUpLOdtZ6lDQBf6RykwJ3R5CYCT7aLFQI9 Z0mzQZcm yHhGbxzsNpVoaRxD5h16RxAYj3kMYVPgD9WKijFPoKREYrpIV533xYo5wL9HiSke9xCf7JlKRaNT8hvwFEKSxZtZjYOOGawl0Fc6e1oRq4kiKkOwggujjF3bkvY0fMpTgKk6fE90GqR2P40NoRWLBiT+LZa6JPfJ2KrPKldDLqVVQ6HncRLpycCEDktoDTe8pdL7hL93Vg6mC0CL6MQtJ3/jsR5K4AMDcVz++wWtmduRN/JCa4entAhIqTs3nzavrZ7mdNHwc+3vNeNgloLu/vqBt2d9Ox27IELkLrjd0sQGWYzteMjan/U4DycEVNyu8N6yZJKKh6b3TaioxghurVOIt4sHtbr8rMJ/cnLdyc5SkflVyO2FW4q6003fjsRpAop/77NMxxw2Yo5dEqWLV+wFT8zq5WH4B71GE8anlbxh5Mb0pP8ZuV7JWBqkBYS/zvsDLyWcLhrRlrPGxYz3C6Y3qoG88R7Ha09QNdxLovDs6o5cjaHqUab1dW6cyfD6opXmci1ofnxivNuhi7tvQeXSGqPCDMh19ZR6HN56d8Jp/1aiQ+iHPA0d/5xO8dKd+b/vkH/vq/ZnSy3A= 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: Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Also cleans up some spacing issues. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- arch/um/include/asm/pgalloc.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/arch/um/include/asm/pgalloc.h b/arch/um/include/asm/pgalloc.h index 8ec7cd46dd96..de5e31c64793 100644 --- a/arch/um/include/asm/pgalloc.h +++ b/arch/um/include/asm/pgalloc.h @@ -25,19 +25,19 @@ */ extern pgd_t *pgd_alloc(struct mm_struct *); -#define __pte_free_tlb(tlb,pte, address) \ -do { \ - pgtable_pte_page_dtor(pte); \ - tlb_remove_page((tlb),(pte)); \ +#define __pte_free_tlb(tlb, pte, address) \ +do { \ + pagetable_pte_dtor(page_ptdesc(pte)); \ + tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte))); \ } while (0) #ifdef CONFIG_3_LEVEL_PGTABLES -#define __pmd_free_tlb(tlb, pmd, address) \ -do { \ - pgtable_pmd_page_dtor(virt_to_page(pmd)); \ - tlb_remove_page((tlb),virt_to_page(pmd)); \ -} while (0) \ +#define __pmd_free_tlb(tlb, pmd, address) \ +do { \ + pagetable_pmd_dtor(virt_to_ptdesc(pmd)); \ + tlb_remove_page_ptdesc((tlb), virt_to_ptdesc(pmd)); \ +} while (0) #endif From patchwork Mon Jun 12 21:04:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Vishal Moola (Oracle)" X-Patchwork-Id: 13277377 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 7A7EBC88CB5 for ; Mon, 12 Jun 2023 21:05:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1ACBC940013; Mon, 12 Jun 2023 17:05:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 15D5F8E0006; Mon, 12 Jun 2023 17:05:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EEDE6940013; Mon, 12 Jun 2023 17:05:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id D42818E0006 for ; Mon, 12 Jun 2023 17:05:58 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 83FAF1A0348 for ; Mon, 12 Jun 2023 21:05:58 +0000 (UTC) X-FDA: 80895327996.08.1F992F2 Received: from mail-yw1-f170.google.com (mail-yw1-f170.google.com [209.85.128.170]) by imf27.hostedemail.com (Postfix) with ESMTP id 7B45240010 for ; Mon, 12 Jun 2023 21:05:56 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=mPREwt4C; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.170 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=1686603956; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=8ky1uDH3HAwvFTnah34UfzHSGIz5XtPXejf2e4vlCZQ=; b=fHDTqTWFxlw0wmIDMjXsreUUCA7QKeFcyfS5Tx3VjzNgw0+F8+c5IbNP3ej1R63JbenoZB GUUOszQ7NxNfG7QJm9bJ0hBLMpijIaY5oFYdg58W3X5NcM1Vb8T0e5nlqUbpIxD7ibKQUP 3n9BLSyDU7nlfimo3C0u+7rjD2o+Gy0= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=mPREwt4C; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.170 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686603956; a=rsa-sha256; cv=none; b=w5+R0u/F7nVYNDIucO7ZRr/hrt41zWVIEV3vCMsd2JziTBVtz/tcyfcwWHZAyxiSRQkkSt +PxRXRp6+ySSUHNxJCoNMvKOnH7ngAhiSBjWu2/F3suDo3IG1zkshbKHy8ajg6IPxUYB94 jwuWZzSuK9BcazSAdGK61NeE4PsHj9w= Received: by mail-yw1-f170.google.com with SMTP id 00721157ae682-56d4f50427cso6519997b3.3 for ; Mon, 12 Jun 2023 14:05:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686603955; x=1689195955; 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=8ky1uDH3HAwvFTnah34UfzHSGIz5XtPXejf2e4vlCZQ=; b=mPREwt4CZ7eyjP0awRF+7J59gjRJfQYSldhgYFU3GX8JHbZALGX3vT3PNPPDkSpada kYBrPZ3fT3IHCrmgBacTa14fpMsdfLY/wfMsw3mbb6xXz9ObJPsrzVS2jkFBCphqvrnl W2C3CK1LTKvQS4G7ilQBgC608IiFiwIK0aJZOApjzUoXUMUFaYyvbn2berfE8dovgnlw G/g86Ig9l0whUW2/5Qd6SZuVXZ3fDYfyaml8bSeL/n/Mla1l5cRkRmXZyiI9FghcycAP +JJqIE8dynwBhJPRmXp4HhikHugb2xp+HYDNKHli1SWflPjzo5LK7t0+7e7QbCiwECv3 X+rQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686603955; x=1689195955; 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=8ky1uDH3HAwvFTnah34UfzHSGIz5XtPXejf2e4vlCZQ=; b=JLRejzVoBROl5FXcnwsxkXDHUutTqFuedkWU/KkJ9mVJ+QUuqUlnvmBVwgO0LIRy4u B6eCyjoP0I3iX0wyhNioECl6LnM3uNCasmSgI3ltWHnzEIRRhOcaKFCOurlzoO6oW/MB C7QhoXoGN281m6/jNoegNJUtXbVXN7LI0bh4LZfkbaijg5XTTF9tlhhFLdSCpRMcFZ6M yLW27GF9sZd0fPtKwDzK23ZhpY5CLeLH8E+nYi0HqIOVCnKhOPaAAFTcjhW3oEvD6DHZ VEjBpZL4mq0VDzgaSHIaOQn/LW2rP2ELUdPSt6E0IPURrFf729utgL+hopcW7Ri0WHZx SooQ== X-Gm-Message-State: AC+VfDxJwKLiiliihQXXfsZ+9PNKVOKJmxi5gsB/AkkGE3+aGXTZrYzz S4VGQv4lDscOWwZpEc3bIkrqtFlLXyLgCQ== X-Google-Smtp-Source: ACHHUZ6hpYtRh2B57fGd8bPmVf+MLwfrVY1EUXTrrFmJrCanxRRmSJ+wngffzdYGMbXJAYdrr0DA1A== X-Received: by 2002:a81:9e13:0:b0:56d:4b17:7e9c with SMTP id m19-20020a819e13000000b0056d4b177e9cmr1826324ywj.32.1686603955490; Mon, 12 Jun 2023 14:05:55 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16]) by smtp.googlemail.com with ESMTPSA id s125-20020a817783000000b00569eb609458sm2757115ywc.81.2023.06.12.14.05.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 14:05:55 -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)" Subject: [PATCH v4 34/34] mm: Remove pgtable_{pmd, pte}_page_{ctor, dtor}() wrappers Date: Mon, 12 Jun 2023 14:04:23 -0700 Message-Id: <20230612210423.18611-35-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230612210423.18611-1-vishal.moola@gmail.com> References: <20230612210423.18611-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 7B45240010 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: km698drgrr8duumbcps5z1xpoifrm7e9 X-HE-Tag: 1686603956-244084 X-HE-Meta: U2FsdGVkX18BAcyxTO2PDCcTkaH0uqn2xw4c14+jIjKYkPNPEYP3EgOGC4o48xCsoEXdknBFNGz4Rd+zUuzgXQRw1qBd9LmI4X/TsozpHYLOx2zXLk1Nb0YRT7uwfsfdGU5orKAgxd1ScGnn8b0qe6mUIAP0gv4NPyCMnP5ESk6IOI/QR9oGEOiXdUSgWVBtcLmDTp/lcu53Tc26BF9t/fCRSDi/QG4F9X881LsFI9/t8hQGzorn6GvflSZPKAYrOJeuNEOFUctLtyl7Ad7+nh57puWbbdxmyfcq939933qF43imKm8sOp+QhqrL+Nu+m1OkQgT0oAmPvkwBitUdhfiyweSKGO7gKeootNn8LHCs0dsmjyoowA/K4sTrBQF3XoHROvqZxVMGUp6N9ZNoKlG8t3SP52bxB5etPAhp42r2Vfpa5zATEt/MUlhTQbq/KxBhg/yzt4HPoaoGzb7yTWpcRUQqkHQGoX7kksEUuUbtPURjntDNh5x8wt7V3rq7ZZ43sESVshbag84DynkMO8Km0EVNfCiDRldtzLM+QdhkCZnWKkY1zyKv/1FzTmjqQu6rews6HUqB4TWR1BlB/qEWtGPe5iZcmovIfXo2CWDdmniCH+o31HL+mXFbcGRSrFXDp1Ts4VL+1kXC+rBb2/7I0IrUHES+8RmqaVHj8wwjo3iSHBUG+OdYSmqDN7BMQ2+Ke8igqKyQGvpPFasim9w79QZ/M2LI/8Qu9pHHoyCPpLwsu0HHXElhSCb5W/kvAAS9+BNgNGJAUy4ZcBdBwxTICQYHPimiRfHeypz3ht2uYTVZiNmnutQZvZsVFxfyXxqviV+9Cerm7nb7yXA6RRFt6TnV5u/14R8h50OTAv4f/TwRb3U5ezNp1VXwFVTz1tWQDxk9GgiJ12Hyb+2BgA5Tua6JI6ai9SsFZhXy316O1dR50V/u53TpdSn+pO25+o8+VErsnNzGKpqKB88 COb8MVcO T5E37GVBxqvQjvBPU0pR4hhyvDP45i0q+5y0p1d90Q6YxtlMocRHTZ+o1tx9848VEl3+adkLgLogQP+AAQy3oGGJZGuzR7U0JKCgfejQZjBysl4oUN+NVehm/0B/ICEw9kXi7ahR2FAiu4GL/+wg4yb1qx2kib+gwcc/z8qaBBf6c6MQYMwsN7Xpu2f5O2qiqZfItNezbzY/mWNwP2uJ3K48+fZ7ZDxYXUb4COwaZ6jXr1Fb+cMOUT4OskSgrO7dwqV0QErmx9CCn4Al64994rfx5BwYxvEOppojRvZZEbSOgZRSym7TJVVBd+EVoqvAcXuzb3GdE6pkSMXtms4xhNDaAaydcK0r/hPLOgTjp4I3oHpbykSgeOGF3aw45ORPnLGiBPRqbo5kdEMgTsF64s73IuIGLnI3NUN4XIm8UnCek8dEkYGUsYsgm8ZqsY4az6BP8uFmVMpKv350OnrkU4a1IhW5/EF1qEArIoaKbcPc65n05LxFj4GGRB3XEOz5iZRb9ETpqv3ytvY79E3xyC/iXwCG/s0Jgx6GkJzv7zUhmzyDR8BlMLu6XZdxEIeFzqS8WFlPzlZtbsY/ifh8OXf2C1A== 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: These functions are no longer necessary. Remove them and cleanup Documentation referencing them. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (IBM) --- Documentation/mm/split_page_table_lock.rst | 12 +++++------ .../zh_CN/mm/split_page_table_lock.rst | 14 ++++++------- include/linux/mm.h | 20 ------------------- 3 files changed, 13 insertions(+), 33 deletions(-) diff --git a/Documentation/mm/split_page_table_lock.rst b/Documentation/mm/split_page_table_lock.rst index 50ee0dfc95be..4bffec728340 100644 --- a/Documentation/mm/split_page_table_lock.rst +++ b/Documentation/mm/split_page_table_lock.rst @@ -53,7 +53,7 @@ Support of split page table lock by an architecture =================================================== There's no need in special enabling of PTE split page table lock: everything -required is done by pgtable_pte_page_ctor() and pgtable_pte_page_dtor(), which +required is done by pagetable_pte_ctor() and pagetable_pte_dtor(), which must be called on PTE table allocation / freeing. Make sure the architecture doesn't use slab allocator for page table @@ -63,8 +63,8 @@ This field shares storage with page->ptl. PMD split lock only makes sense if you have more than two page table levels. -PMD split lock enabling requires pgtable_pmd_page_ctor() call on PMD table -allocation and pgtable_pmd_page_dtor() on freeing. +PMD split lock enabling requires pagetable_pmd_ctor() call on PMD table +allocation and pagetable_pmd_dtor() on freeing. Allocation usually happens in pmd_alloc_one(), freeing in pmd_free() and pmd_free_tlb(), but make sure you cover all PMD table allocation / freeing @@ -72,7 +72,7 @@ paths: i.e X86_PAE preallocate few PMDs on pgd_alloc(). With everything in place you can set CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK. -NOTE: pgtable_pte_page_ctor() and pgtable_pmd_page_ctor() can fail -- it must +NOTE: pagetable_pte_ctor() and pagetable_pmd_ctor() can fail -- it must be handled properly. page->ptl @@ -92,7 +92,7 @@ trick: split lock with enabled DEBUG_SPINLOCK or DEBUG_LOCK_ALLOC, but costs one more cache line for indirect access; -The spinlock_t allocated in pgtable_pte_page_ctor() for PTE table and in -pgtable_pmd_page_ctor() for PMD table. +The spinlock_t allocated in pagetable_pte_ctor() for PTE table and in +pagetable_pmd_ctor() for PMD table. Please, never access page->ptl directly -- use appropriate helper. diff --git a/Documentation/translations/zh_CN/mm/split_page_table_lock.rst b/Documentation/translations/zh_CN/mm/split_page_table_lock.rst index 4fb7aa666037..a2c288670a24 100644 --- a/Documentation/translations/zh_CN/mm/split_page_table_lock.rst +++ b/Documentation/translations/zh_CN/mm/split_page_table_lock.rst @@ -56,16 +56,16 @@ Hugetlb特定的辅助函数: 架构对分页表锁的支持 ==================== -没有必要特别启用PTE分页表锁:所有需要的东西都由pgtable_pte_page_ctor() -和pgtable_pte_page_dtor()完成,它们必须在PTE表分配/释放时被调用。 +没有必要特别启用PTE分页表锁:所有需要的东西都由pagetable_pte_ctor() +和pagetable_pte_dtor()完成,它们必须在PTE表分配/释放时被调用。 确保架构不使用slab分配器来分配页表:slab使用page->slab_cache来分配其页 面。这个区域与page->ptl共享存储。 PMD分页锁只有在你有两个以上的页表级别时才有意义。 -启用PMD分页锁需要在PMD表分配时调用pgtable_pmd_page_ctor(),在释放时调 -用pgtable_pmd_page_dtor()。 +启用PMD分页锁需要在PMD表分配时调用pagetable_pmd_ctor(),在释放时调 +用pagetable_pmd_dtor()。 分配通常发生在pmd_alloc_one()中,释放发生在pmd_free()和pmd_free_tlb() 中,但要确保覆盖所有的PMD表分配/释放路径:即X86_PAE在pgd_alloc()中预先 @@ -73,7 +73,7 @@ PMD分页锁只有在你有两个以上的页表级别时才有意义。 一切就绪后,你可以设置CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK。 -注意:pgtable_pte_page_ctor()和pgtable_pmd_page_ctor()可能失败--必 +注意:pagetable_pte_ctor()和pagetable_pmd_ctor()可能失败--必 须正确处理。 page->ptl @@ -90,7 +90,7 @@ page->ptl用于访问分割页表锁,其中'page'是包含该表的页面struc 的指针并动态分配它。这允许在启用DEBUG_SPINLOCK或DEBUG_LOCK_ALLOC的 情况下使用分页锁,但由于间接访问而多花了一个缓存行。 -PTE表的spinlock_t分配在pgtable_pte_page_ctor()中,PMD表的spinlock_t -分配在pgtable_pmd_page_ctor()中。 +PTE表的spinlock_t分配在pagetable_pte_ctor()中,PMD表的spinlock_t +分配在pagetable_pmd_ctor()中。 请不要直接访问page->ptl - -使用适当的辅助函数。 diff --git a/include/linux/mm.h b/include/linux/mm.h index dc211c43610b..6d83483cf186 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2897,11 +2897,6 @@ static inline bool pagetable_pte_ctor(struct ptdesc *ptdesc) return true; } -static inline bool pgtable_pte_page_ctor(struct page *page) -{ - return pagetable_pte_ctor(page_ptdesc(page)); -} - static inline void pagetable_pte_dtor(struct ptdesc *ptdesc) { struct folio *folio = ptdesc_folio(ptdesc); @@ -2911,11 +2906,6 @@ static inline void pagetable_pte_dtor(struct ptdesc *ptdesc) lruvec_stat_sub_folio(folio, NR_PAGETABLE); } -static inline void pgtable_pte_page_dtor(struct page *page) -{ - pagetable_pte_dtor(page_ptdesc(page)); -} - #define pte_offset_map_lock(mm, pmd, address, ptlp) \ ({ \ spinlock_t *__ptl = pte_lockptr(mm, pmd); \ @@ -3006,11 +2996,6 @@ static inline bool pagetable_pmd_ctor(struct ptdesc *ptdesc) return true; } -static inline bool pgtable_pmd_page_ctor(struct page *page) -{ - return pagetable_pmd_ctor(page_ptdesc(page)); -} - static inline void pagetable_pmd_dtor(struct ptdesc *ptdesc) { struct folio *folio = ptdesc_folio(ptdesc); @@ -3020,11 +3005,6 @@ static inline void pagetable_pmd_dtor(struct ptdesc *ptdesc) lruvec_stat_sub_folio(folio, NR_PAGETABLE); } -static inline void pgtable_pmd_page_dtor(struct page *page) -{ - pagetable_pmd_dtor(page_ptdesc(page)); -} - /* * No scalability reason to split PUD locks yet, but follow the same pattern * as the PMD locks to make it easier if we decide to. The VM should not be