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 4B42AC531C9 for ; Sat, 25 Jul 2026 17:03:48 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [127.0.0.1]) by lists.ozlabs.org (Postfix) with ESMTP id 4h6rmL4Ybjz2yFg; Sun, 26 Jul 2026 03:03:46 +1000 (AEST) Authentication-Results: lists.ozlabs.org; arc=none smtp.remote-ip=209.71.208.13 ARC-Seal: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1784999026; cv=none; b=dkTSFHIaROgfgvbK/5vBlRB/2bHgyVgl7b4NmlM+zeIHaf1kXNO+T49Se4qopB3nxMtKp6aAcKFJX6WuTZD3bjl//WY2qL8xguAPjhF6rK4Y4Yv76xJZpgVubP0Z/x78SCGpLSShGzEepmnUVaXNrZYuCR7Lgss6t89aa12A1fvuFDvmoX6etoZKC/waaJyvhDyEMlU9nXaGkdHatk4YhVYB5OD6MPiAIdkt1/IpN0OJBIRhMYaDCJktus6CHvb0RFGE+3Xd2Dfd6lHmP4rn+6zgrSTSgjBbEXUIXeAaog11s6lBIKgTtxjj2+Dm5SJD6J9KDuyKgqjT0r0HwycEmw== ARC-Message-Signature: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1784999026; c=relaxed/relaxed; bh=Wqzc1rdrD9/zZgtfkeN/lk6lY1WJu6IQP1Gt28locAY=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=KD/szt2/LTk4K30HxKUzGWxtdrxacL1bFa5VRoeDKmm9CLPaTtx/FHFnasZXfXek5Y7QkSPdvr6Mf5uPIgJ7CIzDDQpBxGYNMPV4eN/98AVueXoaB7nAwolt13x4LEozBJFiqivj2kIZ3Z2YJE5Vl3xhmIprctFMkhJHLeTmddEJolgJ+8qP7mmT54LK1dKJyIFQWVee+Um++1svelJrk8AmlYnDsnwp9r+23rGpQjtHMs4khkoop5MjlAFv6W5dhVwUKWE8Nq5mtbzqFnu2SYwhS4nRStEVy+BMzLtiCXXMffzYXj7+cy52PVPlwiq2A5lePLsTunutJgEWO6aEpg== ARC-Authentication-Results: i=1; lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=bell.net; dkim=pass (2048-bit key; unprotected) header.d=bell.net header.i=@bell.net header.a=rsa-sha256 header.s=selector1 header.b=MdseikFF; dkim-atps=neutral; spf=pass (client-ip=209.71.208.13; helo=cmx-mtlrgo002.bell.net; envelope-from=dave.anglin@bell.net; receiver=lists.ozlabs.org) smtp.mailfrom=bell.net Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=bell.net Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bell.net header.i=@bell.net header.a=rsa-sha256 header.s=selector1 header.b=MdseikFF; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=bell.net (client-ip=209.71.208.13; helo=cmx-mtlrgo002.bell.net; envelope-from=dave.anglin@bell.net; receiver=lists.ozlabs.org) X-Greylist: delayed 95 seconds by postgrey-1.37 at boromir; Sun, 26 Jul 2026 03:03:43 AEST Received: from cmx-mtlrgo002.bell.net (mta-mtl-003.bell.net [209.71.208.13]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4h6rmH15yMz2xfB for ; Sun, 26 Jul 2026 03:03:42 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bell.net; s=selector1; t=1784999023; bh=Wqzc1rdrD9/zZgtfkeN/lk6lY1WJu6IQP1Gt28locAY=; h=Message-ID:Date:MIME-Version:Subject:To:References:From:In-Reply-To:Content-Type; b=MdseikFFb36eNXeSXfCw6BZ4FfjoAW0KRJzBzHWC0iUTzmVuJkc5CQLIadsJC8TRbsVmf0QVCSodl4rPljLs9n90+aeTI8sMArvylAN1O6VuxE0j9frT06jIZFNvNkggnUrFxBoy0d/JQVABfDx3vvdermjV7HRZgX04ia+fgH+6Abmb6UzkTYcQK1DShyRQKbNdrLVKCEQqqOZaqxYt6GQyPaf3YSCoXsBWS1rTzeGaN/+3O5a8QsU8Hne8onH40DsNNX9FRU13Kpyltm6Y+eMwJbkTAGncaZQX88ZVB9Kp2fbBXRF/O0Ovch/UZne/nB6MasHBTVVYjMnCGjCa8Q== X-RG-SOPHOS: Clean X-RG-VADE-SC: 0 X-RG-VADE: Clean X-Originating-IP: [70.26.67.32] X-RG-Env-Sender: dave.anglin@bell.net X-RG-Rigid: 69B7AEA70B5C1637 X-RazorGate-Vade: dmFkZTFBL85r2oEp4gvfdK9Qq+Fk279rWqVJnzUbNG9fBvLFR/dedrP8wVgFqykZFUTtnttUvrht+OPOiRl/1oU1X3DnhmkwJ+4FUfJN4YMM1Uvc+FmDjW+MWZJ4A0FjpNpERM53NIjMWcPZhyZQFlG4htjVqZ7TJEV4FI7ta2yH4wzyax6s/4E4T4WCOk4oS7RVnzZ9H7irp28HQyCyZeltVxOz9AOr3uOwK79TyneqiRNx+3a7ieGIx7Rrh1xt7fPNGAbDlI7/re/7tVsLMnTzaM8sIoSYfJrV5YxItpSXdxwsobLjy7j764yoaItE9IWqOZ8nHnzugNBwWYuDikcsYd4ZIeOFwBtFev92vMT/vouaEKz+Ah1vjLT+QwgLhdKduIi9iaJDNNkjELFJJE/yNIszKpKlgjW1HQwxXcm3pFfMYsehZFbAmRqL5QVr4EPAW+cvXuonKobvy9fNczSRBD1tyEDCCz/SgvyoOPUZfFsRv1qGgvtqzStwN7Zbtrj68SxbRBYbLYJaroia6vW6b+bLrsEw/meOFF91HfqL8XVq9KdlPKuyvJg40LZ7ScGPqA+pM8+6XXzL1HD4rQYkQoM2CqPSkFuWO81zqkSvf6vLU4tetFZnIofxXAd0aTEd9y+bczB4IJxuzjc+nVt1JlVepAHkbCONpd6s8mfBgySdAQ X-RazorGate-Vade-Verdict: clean 0 X-RazorGate-Vade-Classification: clean Received: from [192.168.2.49] (70.26.67.32) by cmx-mtlrgo002.bell.net (authenticated as dave.anglin@bell.net) id 69B7AEA70B5C1637; Sat, 25 Jul 2026 13:00:55 -0400 Message-ID: <4606e13f-6827-45d0-b3b8-6bc26358f7ae@bell.net> Date: Sat, 25 Jul 2026 13:00:55 -0400 X-Mailing-List: linuxppc-dev@lists.ozlabs.org List-Id: List-Help: List-Owner: List-Post: List-Archive: , List-Subscribe: , , List-Unsubscribe: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 3/5] mm/parisc: constify ptep_get() argument To: Helge Deller , Usama Arif , Pedro Falcato Cc: Matthew Wilcox , Andrew Morton , David Hildenbrand , Catalin Marinas , Will Deacon , "James E.J. Bottomley" , Madhavan Srinivasan , Michael Ellerman , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Jan Kara , Zi Yan , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Kevin Brodsky , Muhammad Usama Anjum , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org References: <20260724102017.141532-1-pfalcato@suse.de> <20260724102017.141532-4-pfalcato@suse.de> <0fd713a8-e4ab-4c07-b36e-79dd138b4a86@linux.dev> <253f7ac0-205b-42f1-9fb5-d19eceb581b6@linux.dev> <3e9dece8-4e86-4ce5-bd74-b3ec305f3003@gmx.de> Content-Language: en-US From: John David Anglin Autocrypt: addr=dave.anglin@bell.net; keydata= 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 T70V9SSrl2hiw38vRzsl In-Reply-To: <3e9dece8-4e86-4ce5-bd74-b3ec305f3003@gmx.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 2026-07-25 12:27 p.m., Helge Deller wrote: > On 7/24/26 17:48, Usama Arif wrote: >> >> >> On 24/07/2026 16:32, Pedro Falcato wrote: >>> On Fri, Jul 24, 2026 at 04:03:44PM +0100, Usama Arif wrote: >>>> >>>> >>>> On 24/07/2026 15:14, Matthew Wilcox wrote: >>>>> On Fri, Jul 24, 2026 at 02:36:59PM +0100, Usama Arif wrote: >>>>>> >>>>>> >>>>>> On 24/07/2026 11:20, Pedro Falcato wrote: >>>>>>> ptep_get() does not need write access to the PTE. >>>>>>> >>>>>>> Signed-off-by: Pedro Falcato >>>>>>> --- >>>>>>>   arch/parisc/include/asm/pgtable.h | 2 +- >>>>>>>   1 file changed, 1 insertion(+), 1 deletion(-) >>>>>>> >>>>>> hmm I think you might break build bisectibility if >>>>>> you separate out the patches, you should squash patch 3 and 4, >>>>>> with patch 1. >>>>> >>>>> I don't see how this breaks bisectability.  Can you elaborate on what >>>>> you think would break? >>>> >>>> Patch 1 does: >>>> >>>> -static inline pte_t ptep_get_lockless(pte_t *ptep) >>>> +static inline pte_t ptep_get_lockless(const pte_t *ptep) >>>>   { >>>>       return ptep_get(ptep); >>>>   } >>>> >>>> >>>> ptep_get() takes a non-const arg till patch 3 for example for parsic. >>>> I don't think you can pass a const variable to non const function arg? >>>> >>>> So parsic won't compile in patch 1 and 2, powerprc wont compile >>>> for patches 1, 2 and 3.. >>> >>> Aha, yes, nice catch! I'll have to rethink that. Maybe squashing the patches >>> would be the cleanest way forward. >>> >> >> Yes, squashing is the simplest way forward. >> >>> FWIW, the vast majority of architectures aren't doing funny things on >>> ptep_get(). E.g PA-RISC, loongarch only define these so they can use it in >>> their own asm/pgtable.h. I'd really like to delete these but I can't tell >>> if they are *actually* required. >>> >> >> Ah maybe there is something in git history on why it was needed? >> >> If not, hopefully someone from the arch lists could clarify.. > I tried to remove ptep_get() and ptep_test_and_clear_young() from > arch/parisc/include/asm/pgtable.h, but this then triggers compile errors: > >  CC      arch/parisc/kernel/asm-offsets.s > In file included from /home/cvs/parisc/git-kernel/linus-linux-2.6/include/linux/mm.h:31, >                  from /home/cvs/parisc/git-kernel/linus-linux-2.6/include/linux/pid_namespace.h:7, >                  from /home/cvs/parisc/git-kernel/linus-linux-2.6/include/linux/ptrace.h:10, >                  from /home/cvs/parisc/git-kernel/linus-linux-2.6/arch/parisc/kernel/asm-offsets.c:21: > /home/cvs/parisc/git-kernel/linus-linux-2.6/include/linux/pgtable.h: In function ‘clear_young_dirty_ptes’: > /home/cvs/parisc/git-kernel/linus-linux-2.6/include/linux/pgtable.h:683:25: error: implicit declaration of function ‘ptep_test_and_clear_young’; > did you mean ‘pmdp_test_and_clear_young’? [-Wimplicit-function-declaration] >   683 |                         ptep_test_and_clear_young(vma, addr, ptep); >       |                         ^~~~~~~~~~~~~~~~~~~~~~~~~ >       |                         pmdp_test_and_clear_young > > So, I think the answer is, that the local copy of ptep_get() is used in the parisc implementation of > ptep_test_and_clear_young() function. > > Switching to the default include/linux/pgtable.h seems not easy doable.... Did you remove define for __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG in parisc version of pgtable.h? Dave -- John David Anglin dave.anglin@bell.net