From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0ED3BC5475B for ; Wed, 6 Mar 2024 12:57:43 +0000 (UTC) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ellerman.id.au header.i=@ellerman.id.au header.a=rsa-sha256 header.s=201909 header.b=UfEtVolq; dkim-atps=neutral Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4TqXXP42yhz3vlb for ; Wed, 6 Mar 2024 23:57:41 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=ellerman.id.au header.i=@ellerman.id.au header.a=rsa-sha256 header.s=201909 header.b=UfEtVolq; dkim-atps=neutral Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4TqXWb5DvWz2ytp for ; Wed, 6 Mar 2024 23:56:59 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ellerman.id.au; s=201909; t=1709729819; bh=7qMkj855gnIh1UQkcFt0aaaoTWPFayqXkWGgolRjo9E=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=UfEtVolq5MqXw9jCn/GeBb+IBQz1dQvJaH/0rnEilELcXz+ev5Hbtp9B7h7mEpBX6 Qz3f0JVrd097eeURWnaXC2C/GW5fBXQWNrwBK0QxwWX1YaRiQ6aIQQ0XFTkV+WzC5v GXYLf6FZmSDmamdgEA80gV9hcMOlFslVWN4X9wP38RFheO1qGLQawaGr7s8/LUFbMT gHkmLZS2HLXRCVJcdsFeWrt3RUA35VQsD9LPG6nt3TSnIA5kK6I5fFJLsrkNZ/vfmm hPS72F4Sajlz8pB2B5k39v9Xa14Hc85llYzAKp2qodd6KdX7Cyd3f5C9srqntJv+gy 0gOjJMv33jZmA== Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4TqXWY0xZyz4wc8; Wed, 6 Mar 2024 23:56:56 +1100 (AEDT) From: Michael Ellerman To: peterx@redhat.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH RFC 09/13] mm/powerpc: Redefine pXd_huge() with pXd_leaf() In-Reply-To: <20240306104147.193052-10-peterx@redhat.com> References: <20240306104147.193052-1-peterx@redhat.com> <20240306104147.193052-10-peterx@redhat.com> Date: Wed, 06 Mar 2024 23:56:56 +1100 Message-ID: <87v85zo6w7.fsf@mail.lhotse> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-arm-kernel@lists.infradead.org, x86@kernel.org, Muchun Song , Nicholas Piggin , peterx@redhat.com, "Aneesh Kumar K.V" , "Naveen N. Rao" , Matthew Wilcox , Jason Gunthorpe , sparclinux@vger.kernel.org, Andrew Morton , linuxppc-dev@lists.ozlabs.org, Mike Rapoport Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" peterx@redhat.com writes: > From: Peter Xu > > PowerPC book3s 4K mostly has the same definition on both, except pXd_huge= () > constantly returns 0 for hash MMUs. AFAICT that is fine to be removed, > because pXd_huge() reflects a hugetlb entry, while it's own hugetlb pgtab= le > lookup function (__find_linux_pte() shared by all powerpc code) already u= se > pXd_leaf() irrelevant of the MMU type. It means pXd_leaf() should work a= ll > fine with hash MMU pgtables or something could already went wrong. Yes I think that's correct. 4K Hash MMU doesn't support any hugepage size at PMD or PUD level (the geometry is wrong), so pmd/pud_huge() were written with that in mind, ie. they are hard coded to return false. But it should be OK to use pmd/pud_leaf(), they will actually look for _PAGE_PTE, but it should never be set for 4K Hash. See eg. arch/powerpc/include/asm/book3s/64/hash-4k.h: static inline pmd_t hash__pmd_mkhuge(pmd_t pmd) { BUG(); return pmd; } > The goal should be that we will have one API pXd_leaf() to detect all kin= ds > of huge mappings. AFAICT we need to use the pXd_leaf() impl (rather than > pXd_huge() ones) to make sure ie. THPs on hash MMU will also return true. > > This helps to simplify a follow up patch to drop pXd_huge() treewide. > > Cc: Michael Ellerman > Cc: Nicholas Piggin > Cc: Christophe Leroy > Cc: "Aneesh Kumar K.V" > Cc: "Naveen N. Rao" > Cc: linuxppc-dev@lists.ozlabs.org > Signed-off-by: Peter Xu > --- > arch/powerpc/include/asm/book3s/64/pgtable-4k.h | 14 ++------------ > 1 file changed, 2 insertions(+), 12 deletions(-) > > diff --git a/arch/powerpc/include/asm/book3s/64/pgtable-4k.h b/arch/power= pc/include/asm/book3s/64/pgtable-4k.h > index 48f21820afe2..92545981bb49 100644 > --- a/arch/powerpc/include/asm/book3s/64/pgtable-4k.h > +++ b/arch/powerpc/include/asm/book3s/64/pgtable-4k.h > @@ -8,22 +8,12 @@ > #ifdef CONFIG_HUGETLB_PAGE > static inline int pmd_huge(pmd_t pmd) > { > - /* > - * leaf pte for huge page > - */ > - if (radix_enabled()) > - return !!(pmd_raw(pmd) & cpu_to_be64(_PAGE_PTE)); > - return 0; > + return pmd_leaf(pmd); > } >=20=20 > static inline int pud_huge(pud_t pud) > { > - /* > - * leaf pte for huge page > - */ > - if (radix_enabled()) > - return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE)); > - return 0; > + return pud_leaf(pud); > } This doesn't actually compile though. arch/powerpc/include/asm/book3s/64/pgtable-4k.h:11:16: error: implicit de= claration of function =E2=80=98pmd_leaf=E2=80=99; did you mean =E2=80=98pgd= _clear=E2=80=99? [-Werror=3Dimplicit-function-declaration] etc. To make it compile we'd need to relocate the pmd/pud_leaf() definitions: diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h b/arch/powerpc/in= clude/asm/book3s/64/pgtable.h index df66dce8306f..fd7180fded75 100644 --- a/arch/powerpc/include/asm/book3s/64/pgtable.h +++ b/arch/powerpc/include/asm/book3s/64/pgtable.h @@ -262,6 +262,18 @@ extern unsigned long __kernel_io_end; extern struct page *vmemmap; extern unsigned long pci_io_base; + +#define pmd_leaf pmd_leaf +static inline bool pmd_leaf(pmd_t pmd) +{ + return !!(pmd_raw(pmd) & cpu_to_be64(_PAGE_PTE)); +} + +#define pud_leaf pud_leaf +static inline bool pud_leaf(pud_t pud) +{ + return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE)); +} #endif /* __ASSEMBLY__ */ #include @@ -1436,20 +1448,5 @@ static inline bool is_pte_rw_upgrade(unsigned long o= ld_val, unsigned long new_va return false; } -/* - * Like pmd_huge(), but works regardless of config options - */ -#define pmd_leaf pmd_leaf -static inline bool pmd_leaf(pmd_t pmd) -{ - return !!(pmd_raw(pmd) & cpu_to_be64(_PAGE_PTE)); -} - -#define pud_leaf pud_leaf -static inline bool pud_leaf(pud_t pud) -{ - return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE)); -} - #endif /* __ASSEMBLY__ */ #endif /* _ASM_POWERPC_BOOK3S_64_PGTABLE_H_ */ cheers From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 921DB12D767; Wed, 6 Mar 2024 12:57:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=150.107.74.76 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709729825; cv=none; b=MWKbXzQKr0ZG8CX5wwvm2fBX1wRegu6pwzSQ/Dld07P/C4SbQ0E0ab0Mchmhpwrd718RPdxOMylCfO/HYjI8yFUiKuQ//pHaf6ZgiL3KttmHSMva8C3UrAiu8djkVFSCWWJM6kWAhKVC18779fdyQ/yWBPSCTudh00t9Jpif9V8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709729825; c=relaxed/simple; bh=33SuGDVKhyAmIEY/wnNy0LGNUvfWeALTFWmEh2mPwPA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=JoTvS75aw5Z+85b0WqdtgjEHGNwhtcs3jdmGjHsYmRVyVMjWpUHs/NR4RXPY+NcNPzhreluNQm0mt4zUHsjTUlr0tgJuqgqLSMAYJmq/ZvHDooQ+R/AtkL4M2ohH/r9HdFJItABXiltSVo5Q9H7jqSvfHtkNoT9ZHAsGVevfAHs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ellerman.id.au; spf=pass smtp.mailfrom=ellerman.id.au; dkim=pass (2048-bit key) header.d=ellerman.id.au header.i=@ellerman.id.au header.b=UfEtVolq; arc=none smtp.client-ip=150.107.74.76 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ellerman.id.au Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ellerman.id.au Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ellerman.id.au header.i=@ellerman.id.au header.b="UfEtVolq" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ellerman.id.au; s=201909; t=1709729819; bh=7qMkj855gnIh1UQkcFt0aaaoTWPFayqXkWGgolRjo9E=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=UfEtVolq5MqXw9jCn/GeBb+IBQz1dQvJaH/0rnEilELcXz+ev5Hbtp9B7h7mEpBX6 Qz3f0JVrd097eeURWnaXC2C/GW5fBXQWNrwBK0QxwWX1YaRiQ6aIQQ0XFTkV+WzC5v GXYLf6FZmSDmamdgEA80gV9hcMOlFslVWN4X9wP38RFheO1qGLQawaGr7s8/LUFbMT gHkmLZS2HLXRCVJcdsFeWrt3RUA35VQsD9LPG6nt3TSnIA5kK6I5fFJLsrkNZ/vfmm hPS72F4Sajlz8pB2B5k39v9Xa14Hc85llYzAKp2qodd6KdX7Cyd3f5C9srqntJv+gy 0gOjJMv33jZmA== Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4TqXWY0xZyz4wc8; Wed, 6 Mar 2024 23:56:56 +1100 (AEDT) From: Michael Ellerman To: peterx@redhat.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org, Andrew Morton , Muchun Song , Jason Gunthorpe , peterx@redhat.com, Matthew Wilcox , Mike Rapoport , Christophe Leroy , x86@kernel.org, sparclinux@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Nicholas Piggin , "Aneesh Kumar K.V" , "Naveen N. Rao" Subject: Re: [PATCH RFC 09/13] mm/powerpc: Redefine pXd_huge() with pXd_leaf() In-Reply-To: <20240306104147.193052-10-peterx@redhat.com> References: <20240306104147.193052-1-peterx@redhat.com> <20240306104147.193052-10-peterx@redhat.com> Date: Wed, 06 Mar 2024 23:56:56 +1100 Message-ID: <87v85zo6w7.fsf@mail.lhotse> Precedence: bulk X-Mailing-List: sparclinux@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable peterx@redhat.com writes: > From: Peter Xu > > PowerPC book3s 4K mostly has the same definition on both, except pXd_huge= () > constantly returns 0 for hash MMUs. AFAICT that is fine to be removed, > because pXd_huge() reflects a hugetlb entry, while it's own hugetlb pgtab= le > lookup function (__find_linux_pte() shared by all powerpc code) already u= se > pXd_leaf() irrelevant of the MMU type. It means pXd_leaf() should work a= ll > fine with hash MMU pgtables or something could already went wrong. Yes I think that's correct. 4K Hash MMU doesn't support any hugepage size at PMD or PUD level (the geometry is wrong), so pmd/pud_huge() were written with that in mind, ie. they are hard coded to return false. But it should be OK to use pmd/pud_leaf(), they will actually look for _PAGE_PTE, but it should never be set for 4K Hash. See eg. arch/powerpc/include/asm/book3s/64/hash-4k.h: static inline pmd_t hash__pmd_mkhuge(pmd_t pmd) { BUG(); return pmd; } > The goal should be that we will have one API pXd_leaf() to detect all kin= ds > of huge mappings. AFAICT we need to use the pXd_leaf() impl (rather than > pXd_huge() ones) to make sure ie. THPs on hash MMU will also return true. > > This helps to simplify a follow up patch to drop pXd_huge() treewide. > > Cc: Michael Ellerman > Cc: Nicholas Piggin > Cc: Christophe Leroy > Cc: "Aneesh Kumar K.V" > Cc: "Naveen N. Rao" > Cc: linuxppc-dev@lists.ozlabs.org > Signed-off-by: Peter Xu > --- > arch/powerpc/include/asm/book3s/64/pgtable-4k.h | 14 ++------------ > 1 file changed, 2 insertions(+), 12 deletions(-) > > diff --git a/arch/powerpc/include/asm/book3s/64/pgtable-4k.h b/arch/power= pc/include/asm/book3s/64/pgtable-4k.h > index 48f21820afe2..92545981bb49 100644 > --- a/arch/powerpc/include/asm/book3s/64/pgtable-4k.h > +++ b/arch/powerpc/include/asm/book3s/64/pgtable-4k.h > @@ -8,22 +8,12 @@ > #ifdef CONFIG_HUGETLB_PAGE > static inline int pmd_huge(pmd_t pmd) > { > - /* > - * leaf pte for huge page > - */ > - if (radix_enabled()) > - return !!(pmd_raw(pmd) & cpu_to_be64(_PAGE_PTE)); > - return 0; > + return pmd_leaf(pmd); > } >=20=20 > static inline int pud_huge(pud_t pud) > { > - /* > - * leaf pte for huge page > - */ > - if (radix_enabled()) > - return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE)); > - return 0; > + return pud_leaf(pud); > } This doesn't actually compile though. arch/powerpc/include/asm/book3s/64/pgtable-4k.h:11:16: error: implicit de= claration of function =E2=80=98pmd_leaf=E2=80=99; did you mean =E2=80=98pgd= _clear=E2=80=99? [-Werror=3Dimplicit-function-declaration] etc. To make it compile we'd need to relocate the pmd/pud_leaf() definitions: diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h b/arch/powerpc/in= clude/asm/book3s/64/pgtable.h index df66dce8306f..fd7180fded75 100644 --- a/arch/powerpc/include/asm/book3s/64/pgtable.h +++ b/arch/powerpc/include/asm/book3s/64/pgtable.h @@ -262,6 +262,18 @@ extern unsigned long __kernel_io_end; extern struct page *vmemmap; extern unsigned long pci_io_base; + +#define pmd_leaf pmd_leaf +static inline bool pmd_leaf(pmd_t pmd) +{ + return !!(pmd_raw(pmd) & cpu_to_be64(_PAGE_PTE)); +} + +#define pud_leaf pud_leaf +static inline bool pud_leaf(pud_t pud) +{ + return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE)); +} #endif /* __ASSEMBLY__ */ #include @@ -1436,20 +1448,5 @@ static inline bool is_pte_rw_upgrade(unsigned long o= ld_val, unsigned long new_va return false; } -/* - * Like pmd_huge(), but works regardless of config options - */ -#define pmd_leaf pmd_leaf -static inline bool pmd_leaf(pmd_t pmd) -{ - return !!(pmd_raw(pmd) & cpu_to_be64(_PAGE_PTE)); -} - -#define pud_leaf pud_leaf -static inline bool pud_leaf(pud_t pud) -{ - return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE)); -} - #endif /* __ASSEMBLY__ */ #endif /* _ASM_POWERPC_BOOK3S_64_PGTABLE_H_ */ cheers From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 181C0C54E41 for ; Wed, 6 Mar 2024 12:57:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=EMrxGUf7u/eKvH9vVfFmbpalMac9c/GFkiJ5dTWzNO4=; b=x3jbeBxPDBHok0 m3+D+OklRda4zZH73ibISNXantHstb4tTgAlDz4cP4/JL7ABNfZhobXgdaAmXkVrzrLCmuKzXtCPA 7IPF002pxseVKQVX2Sa8XashudIFkGl7BAC1A3xySIRnk3WXwGOD3zS6Y6Td+AY0AlqJzDRQDHf1t b1yEdzq8IEe9ds4m/bsfKVfmyTBEYc5XGtkG9PL8Y6+gvTC0my1FltKCdmPniYijaHjY6ttr7JR1l hpzb2w9BnvkaTwjYzj1ir8jRpRgyaJt0iNki5qE5avurbo7vCpvkB1J8xG9YyYN0Qb1AJy3rpOYer JcpvHDFN7j9mcj2gQDLg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rhqpZ-00000000Hyl-1yFY; Wed, 06 Mar 2024 12:57:09 +0000 Received: from mail.ozlabs.org ([2404:9400:2221:ea00::3] helo=gandalf.ozlabs.org) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rhqpW-00000000Hv7-0lsB for linux-arm-kernel@lists.infradead.org; Wed, 06 Mar 2024 12:57:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ellerman.id.au; s=201909; t=1709729819; bh=7qMkj855gnIh1UQkcFt0aaaoTWPFayqXkWGgolRjo9E=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=UfEtVolq5MqXw9jCn/GeBb+IBQz1dQvJaH/0rnEilELcXz+ev5Hbtp9B7h7mEpBX6 Qz3f0JVrd097eeURWnaXC2C/GW5fBXQWNrwBK0QxwWX1YaRiQ6aIQQ0XFTkV+WzC5v GXYLf6FZmSDmamdgEA80gV9hcMOlFslVWN4X9wP38RFheO1qGLQawaGr7s8/LUFbMT gHkmLZS2HLXRCVJcdsFeWrt3RUA35VQsD9LPG6nt3TSnIA5kK6I5fFJLsrkNZ/vfmm hPS72F4Sajlz8pB2B5k39v9Xa14Hc85llYzAKp2qodd6KdX7Cyd3f5C9srqntJv+gy 0gOjJMv33jZmA== Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4TqXWY0xZyz4wc8; Wed, 6 Mar 2024 23:56:56 +1100 (AEDT) From: Michael Ellerman To: peterx@redhat.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org, Andrew Morton , Muchun Song , Jason Gunthorpe , peterx@redhat.com, Matthew Wilcox , Mike Rapoport , Christophe Leroy , x86@kernel.org, sparclinux@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Nicholas Piggin , "Aneesh Kumar K.V" , "Naveen N. Rao" Subject: Re: [PATCH RFC 09/13] mm/powerpc: Redefine pXd_huge() with pXd_leaf() In-Reply-To: <20240306104147.193052-10-peterx@redhat.com> References: <20240306104147.193052-1-peterx@redhat.com> <20240306104147.193052-10-peterx@redhat.com> Date: Wed, 06 Mar 2024 23:56:56 +1100 Message-ID: <87v85zo6w7.fsf@mail.lhotse> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240306_045706_840907_A7117255 X-CRM114-Status: GOOD ( 21.01 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org cGV0ZXJ4QHJlZGhhdC5jb20gd3JpdGVzOgo+IEZyb206IFBldGVyIFh1IDxwZXRlcnhAcmVkaGF0 LmNvbT4KPgo+IFBvd2VyUEMgYm9vazNzIDRLIG1vc3RseSBoYXMgdGhlIHNhbWUgZGVmaW5pdGlv biBvbiBib3RoLCBleGNlcHQgcFhkX2h1Z2UoKQo+IGNvbnN0YW50bHkgcmV0dXJucyAwIGZvciBo YXNoIE1NVXMuICBBRkFJQ1QgdGhhdCBpcyBmaW5lIHRvIGJlIHJlbW92ZWQsCj4gYmVjYXVzZSBw WGRfaHVnZSgpIHJlZmxlY3RzIGEgaHVnZXRsYiBlbnRyeSwgd2hpbGUgaXQncyBvd24gaHVnZXRs YiBwZ3RhYmxlCj4gbG9va3VwIGZ1bmN0aW9uIChfX2ZpbmRfbGludXhfcHRlKCkgc2hhcmVkIGJ5 IGFsbCBwb3dlcnBjIGNvZGUpIGFscmVhZHkgdXNlCj4gcFhkX2xlYWYoKSBpcnJlbGV2YW50IG9m IHRoZSBNTVUgdHlwZS4gIEl0IG1lYW5zIHBYZF9sZWFmKCkgc2hvdWxkIHdvcmsgYWxsCj4gZmlu ZSB3aXRoIGhhc2ggTU1VIHBndGFibGVzIG9yIHNvbWV0aGluZyBjb3VsZCBhbHJlYWR5IHdlbnQg d3JvbmcuCgpZZXMgSSB0aGluayB0aGF0J3MgY29ycmVjdC4KCjRLIEhhc2ggTU1VIGRvZXNuJ3Qg c3VwcG9ydCBhbnkgaHVnZXBhZ2Ugc2l6ZSBhdCBQTUQgb3IgUFVEIGxldmVsICh0aGUKZ2VvbWV0 cnkgaXMgd3JvbmcpLCBzbyBwbWQvcHVkX2h1Z2UoKSB3ZXJlIHdyaXR0ZW4gd2l0aCB0aGF0IGlu IG1pbmQsCmllLiB0aGV5IGFyZSBoYXJkIGNvZGVkIHRvIHJldHVybiBmYWxzZS4KCkJ1dCBpdCBz aG91bGQgYmUgT0sgdG8gdXNlIHBtZC9wdWRfbGVhZigpLCB0aGV5IHdpbGwgYWN0dWFsbHkgbG9v ayBmb3IKX1BBR0VfUFRFLCBidXQgaXQgc2hvdWxkIG5ldmVyIGJlIHNldCBmb3IgNEsgSGFzaC4K ClNlZSBlZy4gYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL2Jvb2szcy82NC9oYXNoLTRrLmg6Cgpz dGF0aWMgaW5saW5lIHBtZF90IGhhc2hfX3BtZF9ta2h1Z2UocG1kX3QgcG1kKQp7CglCVUcoKTsK CXJldHVybiBwbWQ7Cn0KCj4gVGhlIGdvYWwgc2hvdWxkIGJlIHRoYXQgd2Ugd2lsbCBoYXZlIG9u ZSBBUEkgcFhkX2xlYWYoKSB0byBkZXRlY3QgYWxsIGtpbmRzCj4gb2YgaHVnZSBtYXBwaW5ncy4g IEFGQUlDVCB3ZSBuZWVkIHRvIHVzZSB0aGUgcFhkX2xlYWYoKSBpbXBsIChyYXRoZXIgdGhhbgo+ IHBYZF9odWdlKCkgb25lcykgdG8gbWFrZSBzdXJlIGllLiBUSFBzIG9uIGhhc2ggTU1VIHdpbGwg YWxzbyByZXR1cm4gdHJ1ZS4KPgo+IFRoaXMgaGVscHMgdG8gc2ltcGxpZnkgYSBmb2xsb3cgdXAg cGF0Y2ggdG8gZHJvcCBwWGRfaHVnZSgpIHRyZWV3aWRlLgo+Cj4gQ2M6IE1pY2hhZWwgRWxsZXJt YW4gPG1wZUBlbGxlcm1hbi5pZC5hdT4KPiBDYzogTmljaG9sYXMgUGlnZ2luIDxucGlnZ2luQGdt YWlsLmNvbT4KPiBDYzogQ2hyaXN0b3BoZSBMZXJveSA8Y2hyaXN0b3BoZS5sZXJveUBjc2dyb3Vw LmV1Pgo+IENjOiAiQW5lZXNoIEt1bWFyIEsuViIgPGFuZWVzaC5rdW1hckBrZXJuZWwub3JnPgo+ IENjOiAiTmF2ZWVuIE4uIFJhbyIgPG5hdmVlbi5uLnJhb0BsaW51eC5pYm0uY29tPgo+IENjOiBs aW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9yZwo+IFNpZ25lZC1vZmYtYnk6IFBldGVyIFh1IDxw ZXRlcnhAcmVkaGF0LmNvbT4KPiAtLS0KPiAgYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL2Jvb2sz cy82NC9wZ3RhYmxlLTRrLmggfCAxNCArKy0tLS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9hcmNoL3Bv d2VycGMvaW5jbHVkZS9hc20vYm9vazNzLzY0L3BndGFibGUtNGsuaCBiL2FyY2gvcG93ZXJwYy9p bmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS00ay5oCj4gaW5kZXggNDhmMjE4MjBhZmUyLi45 MjU0NTk4MWJiNDkgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL2Jvb2sz cy82NC9wZ3RhYmxlLTRrLmgKPiArKysgYi9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vYm9vazNz LzY0L3BndGFibGUtNGsuaAo+IEBAIC04LDIyICs4LDEyIEBACj4gICNpZmRlZiBDT05GSUdfSFVH RVRMQl9QQUdFCj4gIHN0YXRpYyBpbmxpbmUgaW50IHBtZF9odWdlKHBtZF90IHBtZCkKPiAgewo+ IC0JLyoKPiAtCSAqIGxlYWYgcHRlIGZvciBodWdlIHBhZ2UKPiAtCSAqLwo+IC0JaWYgKHJhZGl4 X2VuYWJsZWQoKSkKPiAtCQlyZXR1cm4gISEocG1kX3JhdyhwbWQpICYgY3B1X3RvX2JlNjQoX1BB R0VfUFRFKSk7Cj4gLQlyZXR1cm4gMDsKPiArCXJldHVybiBwbWRfbGVhZihwbWQpOwo+ICB9Cj4g IAo+ICBzdGF0aWMgaW5saW5lIGludCBwdWRfaHVnZShwdWRfdCBwdWQpCj4gIHsKPiAtCS8qCj4g LQkgKiBsZWFmIHB0ZSBmb3IgaHVnZSBwYWdlCj4gLQkgKi8KPiAtCWlmIChyYWRpeF9lbmFibGVk KCkpCj4gLQkJcmV0dXJuICEhKHB1ZF9yYXcocHVkKSAmIGNwdV90b19iZTY0KF9QQUdFX1BURSkp Owo+IC0JcmV0dXJuIDA7Cj4gKwlyZXR1cm4gcHVkX2xlYWYocHVkKTsKPiAgfQoKVGhpcyBkb2Vz bid0IGFjdHVhbGx5IGNvbXBpbGUgdGhvdWdoLgoKICBhcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20v Ym9vazNzLzY0L3BndGFibGUtNGsuaDoxMToxNjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9u IG9mIGZ1bmN0aW9uIOKAmHBtZF9sZWFm4oCZOyBkaWQgeW91IG1lYW4g4oCYcGdkX2NsZWFy4oCZ PyBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KCmV0Yy4KClRvIG1ha2Ug aXQgY29tcGlsZSB3ZSdkIG5lZWQgdG8gcmVsb2NhdGUgdGhlIHBtZC9wdWRfbGVhZigpIGRlZmlu aXRpb25zOgoKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvNjQv cGd0YWJsZS5oIGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL2Jvb2szcy82NC9wZ3RhYmxlLmgK aW5kZXggZGY2NmRjZTgzMDZmLi5mZDcxODBmZGVkNzUgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJw Yy9pbmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS5oCisrKyBiL2FyY2gvcG93ZXJwYy9pbmNs dWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS5oCkBAIC0yNjIsNiArMjYyLDE4IEBAIGV4dGVybiB1 bnNpZ25lZCBsb25nIF9fa2VybmVsX2lvX2VuZDsKCiBleHRlcm4gc3RydWN0IHBhZ2UgKnZtZW1t YXA7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBwY2lfaW9fYmFzZTsKKworI2RlZmluZSBwbWRfbGVh ZiBwbWRfbGVhZgorc3RhdGljIGlubGluZSBib29sIHBtZF9sZWFmKHBtZF90IHBtZCkKK3sKKyAg ICAgICByZXR1cm4gISEocG1kX3JhdyhwbWQpICYgY3B1X3RvX2JlNjQoX1BBR0VfUFRFKSk7Cit9 CisKKyNkZWZpbmUgcHVkX2xlYWYgcHVkX2xlYWYKK3N0YXRpYyBpbmxpbmUgYm9vbCBwdWRfbGVh ZihwdWRfdCBwdWQpCit7CisgICAgICAgcmV0dXJuICEhKHB1ZF9yYXcocHVkKSAmIGNwdV90b19i ZTY0KF9QQUdFX1BURSkpOworfQogI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwoKICNpbmNsdWRl IDxhc20vYm9vazNzLzY0L2hhc2guaD4KQEAgLTE0MzYsMjAgKzE0NDgsNSBAQCBzdGF0aWMgaW5s aW5lIGJvb2wgaXNfcHRlX3J3X3VwZ3JhZGUodW5zaWduZWQgbG9uZyBvbGRfdmFsLCB1bnNpZ25l ZCBsb25nIG5ld192YQogICAgICAgIHJldHVybiBmYWxzZTsKIH0KCi0vKgotICogTGlrZSBwbWRf aHVnZSgpLCBidXQgd29ya3MgcmVnYXJkbGVzcyBvZiBjb25maWcgb3B0aW9ucwotICovCi0jZGVm aW5lIHBtZF9sZWFmIHBtZF9sZWFmCi1zdGF0aWMgaW5saW5lIGJvb2wgcG1kX2xlYWYocG1kX3Qg cG1kKQotewotICAgICAgIHJldHVybiAhIShwbWRfcmF3KHBtZCkgJiBjcHVfdG9fYmU2NChfUEFH RV9QVEUpKTsKLX0KLQotI2RlZmluZSBwdWRfbGVhZiBwdWRfbGVhZgotc3RhdGljIGlubGluZSBi b29sIHB1ZF9sZWFmKHB1ZF90IHB1ZCkKLXsKLSAgICAgICByZXR1cm4gISEocHVkX3JhdyhwdWQp ICYgY3B1X3RvX2JlNjQoX1BBR0VfUFRFKSk7Ci19Ci0KICNlbmRpZiAvKiBfX0FTU0VNQkxZX18g Ki8KICNlbmRpZiAvKiBfQVNNX1BPV0VSUENfQk9PSzNTXzY0X1BHVEFCTEVfSF8gKi8KCmNoZWVy cwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo=