Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp3536834ybg; Fri, 25 Oct 2019 05:43:36 -0700 (PDT) X-Google-Smtp-Source: APXvYqxKshbv1wpaUptbPZx8rCb7kZFVG9Ywm5Oscxs2wYu2CiBtMAzNEX5qDxfO9fbfmjlqUdgM X-Received: by 2002:a50:8dc5:: with SMTP id s5mr3704977edh.115.1572007415899; Fri, 25 Oct 2019 05:43:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572007415; cv=none; d=google.com; s=arc-20160816; b=UYuE18ZSQ1C62SQi5GaNeKFSqMi9kBiKBVxwkOSARYM1udp2B1kesKvtOBu5YmC+Wi oGPCzoN619w7L7zpPVkH6RM2+5hsp47O/Rio5HsVZ1CcTbZeJEgwxo9dMj4CL7LLYfKU KNUw/wsiBPniOsvy7GVdrYN2mOAxCCpvrNP5Ua+8duMIXs2X8DdMoKAga3lb866xRvZx 1KwX5PIljAdu1adzKSwpY+QqsItZUDbpgV3EiUr5OLlLssWqLnrRn6SIw6unr4H3x2mb tRQvfnu0EI3cMD348EVETaUbpVs/EfPuen6Djor+w0zYAQZEzh/nXHTdrNShqDHU5vQr VJ4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:user-agent :in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:dkim-signature; bh=Hbayqe76GR2cEZSpgNCW7AyqyX3jSbV5AH6Q39sD66k=; b=z4j1ERx4VEq+fvzEeO2xmh+EQHqphTOcXQ9GwRplvR7tbvTwCMi9R9WIMYmlYodnEJ kYbSEkM1NiMvl1RELqYo7Lx8CGQ85f7zHZV+4qf2wWaaTKer0cL5Mtc+k+v/X8UH6trD 37pi5aeAa+aRSYAeWHrPyq7yWTXyedTDTiySIUsO7D2EoUcryTVsIU1QoCOkCt9BLWRQ GavgD3qt9yUi9HrUjqezwY6jXu/wPLeNAeOnYSNUtvR+KpyH+dRz4s357vkdd1rF6CXH Q40bIdqeZxAiCyflEWn1G3E20qY39kemzXlF0Akxx7Q91NuMfYzppPQ+fXqIkZRamRwE VbfA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmx.net header.s=badeba3b8450 header.b="arp4N/Fb"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y31si1184025edb.47.2019.10.25.05.43.12; Fri, 25 Oct 2019 05:43:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmx.net header.s=badeba3b8450 header.b="arp4N/Fb"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2436596AbfJXMCa (ORCPT + 99 others); Thu, 24 Oct 2019 08:02:30 -0400 Received: from mout.gmx.net ([212.227.15.19]:42985 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726167AbfJXMCa (ORCPT ); Thu, 24 Oct 2019 08:02:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1571918532; bh=BtPN5byu76jvQFbrBcOcxvBymOTJxo5DdTxvJCjqupU=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:References:In-Reply-To; b=arp4N/FbyrbbrWU2bD10SeR2AHU/OtThpy/vmPEoLp4mB3hmt6/tLqAjj9MLN4FME ZJg28B8TRDhkXFzuy/9wvgf33CaVYEmHYHbzyvCrkb0i3EIteFJYqzfToSFaYMCCKN kAFJV20xpM53FPOnRslQhkGZSALUVtoyN+494HMw= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from ls3530.fritz.box ([92.116.166.174]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MPGRz-1idtks3oVh-00PdKv; Thu, 24 Oct 2019 14:02:11 +0200 Date: Thu, 24 Oct 2019 14:02:08 +0200 From: Helge Deller To: Mike Rapoport , Linus Torvalds , linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org, James Bottomley , John David Anglin Cc: Andrew Morton , Arnd Bergmann , "David S. Miller" , Mike Rapoport Subject: Re: [PATCH 08/12] parisc: use pgtable-nopXd instead of 4level-fixup Message-ID: <20191024120208.GA17545@ls3530.fritz.box> References: <1571822941-29776-1-git-send-email-rppt@kernel.org> <1571822941-29776-9-git-send-email-rppt@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1571822941-29776-9-git-send-email-rppt@kernel.org> User-Agent: Mutt/1.12.1 (2019-06-15) X-Provags-ID: V03:K1:r1gv/v0lqEe+bOB9wfxWZhIMST35qEY+LNwPO498vtsnue1RXl2 lWQDLVWd80Z6a4Lj04aLo5FkmTg3OVUbn4v8jLwYceC1cgAZYOhiEAmkfk0R2eWIIxUv9gA cbubaamfTzFraEZ3mzmS2EFn24YRuV495qnagXRfvZoqh4K9b3N6jXYf5O3VWfod+/MTcmQ CN76kMYrHU87gXf/G1QHw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:iFOcPc+fCqA=:5hjzE9MtPU6n/6E7zSmXXU vJmjNuJ/0EYDqaUyH3HGtsNlpH2mXkPbwvmlQ/LFEeqrTQSy2gH7lTHRbwLirGOvXSU6IpWfR GcgI/eUOsdbtk2G2xIwPCY2SxPcFVIh1HNmpxqzBAPug89a0mNEsepSDEM7GFKhfdGtI2bltZ dPO9/usBAc4ROUDTvAHnWWWcuEu2TfV2Z8WMgaPtIjTN9qc78oZaoaEfEKzcB5j0GVrPLpDm9 vzxGDbCHguHfr4FfBvl1Zy7kyr6Q5GZG8rg3edQmKQWDtFTvo4F3rjoqiyNzhII+XR8x6w6pk +94THkXKOVwumBi7Cu06zOiJEaNHnhqaERR6yduGtadCSxtUdT/TRrilO+JLRq/npk8PZ4N4/ pXtCpT8/KkJxOKXRwZfdMNLqPHsIO/+2lRexjES0xnRxTZOpZZupplQGoNe2mxfxfHze/vxdL wW2zFmJsU0WWKxED5IOgZnkt9g0K7urfcqCCYtIrDGlCMc+4kxVNCdux0w4RGN6HGRtaP0ugo NWjE06Nkj+M3XWf8u4//ZXABix1FEnyvFrhDL3+IWmSoz0PpC439uEkks/RSEQFz3nSCM8nZ0 bKDTtptootL7Ivacj6vh3lnCdjgfiX9ri59UfUu8nyAxVtWeC87EIyz4EHpxKbD4rpBA6T3O2 /9sG0pYVSVoF037pbGXgZ+Sf9JxCVQ76ejH9vb2AnD5g01YfQG5mstre90Uj+Iatfj0FqnGBL 6XTfyj/54bhXh5HNAlyqjiwyPCCZgCZboVw3UrKQzDfx2X7JM9tqUtJme8Yse0NjT8mz+msY1 /OQP+JDsrDfz3AtxOtk2LbkF81bYt9Qx9VjswluvAudCxy746DoM+hkXqbUZzk4e/QZog1Do4 99TIsrrTZbKZmuup4qGj9LV6Xq5T7EbkrayAKfA2RhepIRLTY6y71d1srK++gVTY8gXKNFF5J sXUNH0UNpNa8u91Vf4Vi225DOl0ImcQRAKC2I2Q/pC/3BaplwliJmRXLKkhjD9T5yzQPnRAJU 8hhtbAyFiFTvLCVzGhyeW5MBrwD5S/fHQwIxeo+EAS/8lIGh2y1+zz9B6yWpHPKFSZSknipza WjXDZ1g292htA5hXnYrC01xRvRNxbaucQvWvcTXaBgPP5VFmmWRzSEI41jssIWVNaajaN4Gr0 AVmO9BbOR9bEqpJ2yFFjuiaRVm35NNM15DcuyvVFi/ZuHa2GFUEzco6ahuaamUyU3EMSxPy3i CDPXCle0+T3MuFUtNsbbdAOd7DvUtNynrNcAMRw== Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Mike Rapoport : > From: Mike Rapoport > > parisc has two or three levels of page tables and can use appropriate > pgtable-nopXd and folding of the upper layers. > > Replace usage of include/asm-generic/4level-fixup.h and explicit > definitions of __PAGETABLE_PxD_FOLDED in parisc with > include/asm-generic/pgtable-nopmd.h for two-level configurations and wit= h > include/asm-generic/pgtable-nopmd.h for three-lelve configurations and > adjust page table manipulation macros and functions accordingly. > > Signed-off-by: Mike Rapoport > --- > arch/parisc/include/asm/page.h | 30 +++++++++++++--------- > arch/parisc/include/asm/pgalloc.h | 41 +++++++++++------------------- > arch/parisc/include/asm/pgtable.h | 52 +++++++++++++++++++-------------= ------- > arch/parisc/include/asm/tlb.h | 2 ++ > arch/parisc/kernel/cache.c | 13 ++++++---- > arch/parisc/kernel/pci-dma.c | 9 +++++-- > arch/parisc/mm/fixmap.c | 10 +++++--- > 7 files changed, 81 insertions(+), 76 deletions(-) Mike, thanks for this clean-up! Your patch is functional OK. I successfully tested it with a 32-bit kernel in qemu, and with a 64-bit kernel on a physical box. For 64-bit you missed to adapt the parisc hugetlb code, so maybe you can add the patch below to your series? Other than that (and the lexical corrections which other already mentioned= ): Acked-by: Helge Deller Thanks! Helge =2D--------------- parisc/hugetlb: use pgtable-nopXd instead of 4level-fixup Signed-off-by: Helge Deller diff --git a/arch/parisc/mm/hugetlbpage.c b/arch/parisc/mm/hugetlbpage.c index d578809e55cf..0e1e212f1c96 100644 =2D-- a/arch/parisc/mm/hugetlbpage.c +++ b/arch/parisc/mm/hugetlbpage.c @@ -49,6 +49,7 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz) { pgd_t *pgd; + p4d_t *p4d; pud_t *pud; pmd_t *pmd; pte_t *pte =3D NULL; @@ -61,7 +62,8 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, addr &=3D HPAGE_MASK; pgd =3D pgd_offset(mm, addr); - pud =3D pud_alloc(mm, pgd, addr); + p4d =3D p4d_offset(pgd, addr); + pud =3D pud_alloc(mm, p4d, addr); if (pud) { pmd =3D pmd_alloc(mm, pud, addr); if (pmd) @@ -74,6 +76,7 @@ pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr, unsigned long sz) { pgd_t *pgd; + p4d_t *p4d; pud_t *pud; pmd_t *pmd; pte_t *pte =3D NULL; @@ -82,11 +85,14 @@ pte_t *huge_pte_offset(struct mm_struct *mm, pgd =3D pgd_offset(mm, addr); if (!pgd_none(*pgd)) { - pud =3D pud_offset(pgd, addr); - if (!pud_none(*pud)) { - pmd =3D pmd_offset(pud, addr); - if (!pmd_none(*pmd)) - pte =3D pte_offset_map(pmd, addr); + p4d =3D p4d_offset(pgd, addr); + if (!p4d_none(*p4d)) { + pud =3D pud_offset(p4d, addr); + if (!pud_none(*pud)) { + pmd =3D pmd_offset(pud, addr); + if (!pmd_none(*pmd)) + pte =3D pte_offset_map(pmd, addr); + } } } return pte;