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 16BF5C98310 for ; Thu, 24 Sep 2026 06:17:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=dq6iKB7XuGLS2dYWQ+BSXdf1EQXXxd6p2s4tq3qcm3s=; b=ZOAy1fojHQ9qIHivDvgWQUp3sB xoaqe3FIxUsFwzRxPkyic+COqsly+yn8k9zAZg5SnUcxiykcrTig5VNH0j9bL+qJ9HF0NZ4Q3VoCo IqT1krb8ZHBI1tPmsF16uZnI6ZlGmvLDTQiTVZKlIsdOIaQ5l5AjOm7Pjt7E1jMcJsjjL0AHWUk8T GmWyQv6Ib1DfnE8aZp9o8fo2aBpTyb7S4cZNLDDJe6TCvjBRq4B17TaYNWbMY5UYWk4RLYexBPJ6/ bRfWHaZjxpqTNtCZkEOQHZED79Fj0BqgFOp5HZRyVunuj5yJ4Jv75eKfXxFBHQZdXcOvRS35ozEj9 SewZ/kYw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x9clp-0000000A8lg-3g2c; Thu, 24 Sep 2026 06:17:25 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x9cln-0000000A8lK-1FSs for linux-arm-kernel@lists.infradead.org; Thu, 24 Sep 2026 06:17:25 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BCD251516; Wed, 23 Sep 2026 23:17:17 -0700 (PDT) Received: from localhost (a085714.arm.com [10.164.19.28]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 80A633F86C; Wed, 23 Sep 2026 23:17:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1790230641; bh=AFiGAJeNuge1xk0RxTH5cvykdnaiOpoKLFWNCrc5VLc=; h=From:To:Cc:Subject:Date:From; b=Ux0yMa20xD/2pizKV+EUg6uTTPx9s4FJxxgcbNMmPvekPo8B4aJR9MXoHhH+t2L7W NK4M5t4d13cM+E9F+DNYFh2L09/ftfynSZIxWir6VEM9KcibMaNbHJ/abC9ABx5AkV r62BXL2nyMMp10fBan0L+9IZ45bY3zvaBpC/Ue0I= From: Anshuman Khandual To: linux-mm@kvack.org Cc: Anshuman Khandual , Catalin Marinas , Will Deacon , Ryan Roberts , Mark Rutland , Lorenzo Stoakes , Andrew Morton , David Hildenbrand , Mike Rapoport , Linu Cherian , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH V3 0/4] arm64/mm: Convert pgtable READ_ONCE() as pxdp_get() Date: Thu, 24 Sep 2026 11:47:12 +0530 Message-ID: <20260924061716.1634555-1-anshuman.khandual@arm.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260923_231723_533731_1111841F X-CRM114-Status: GOOD ( 13.38 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Route READ_ONCE() accesses on pgtable entries via level specific generic MM pxdp_get() helpers which platforms could then override when required. These accessors on arm64, will help in ensuring page table accesses are performed in an atomic manner while reading 128 bit page table entries later. But for now they just default to READ_ONCE(), thus preserving existing behaviour on current D64 translation a well. This is similar to generic MM where all atomic accesses have already been converted from READ_ONCE() into pgtable level specific accessors. These are preparatory patches for D128 enablement, although standing their own for D64 translation as well. These patches are split from earlier D128 V1 series. There are no functional changes here and besides mm kselftests do not show any regression. https://lore.kernel.org/linux-mm/20260729122452.3797443-1-anshuman.khandual@arm.com/ This series applies on v7.3-rc4 but after applying the following patches on pgtable entry print standardization posted earlier. https://lore.kernel.org/linux-mm/20260831054331.625505-1-anshuman.khandual@arm.com/ https://lore.kernel.org/linux-mm/20260916044933.2689426-1-anshuman.khandual@arm.com/ These patches have been hosted here as well. git@git.gitlab.arm.com:linux-arm/linux-anshuman.git (arm64_pxdp_get_v3) Changes in V3: - Added overrides for pxdp_get() and replaced remaining READ_ONCE() - Updated all commit messages as required - Dropped previous tags Changes in V2: https://lore.kernel.org/all/20260922061638.3967467-1-anshuman.khandual@arm.com/ - Rebased on v7.3-rc4 along with all latest dependencies - Updated commit messages per Ryan - Added tags from Ryan Changes in V1: https://lore.kernel.org/all/20260903060657.2717457-1-anshuman.khandual@arm.com/ Cc: Catalin Marinas Cc: Will Deacon Cc: Ryan Roberts Cc: Mark Rutland Cc: Lorenzo Stoakes Cc: Andrew Morton Cc: David Hildenbrand Cc: Mike Rapoport Cc: Linu Cherian Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org Anshuman Khandual (4): arm64/mm: Use pmdp_get() for PMD accesses arm64/mm: Use pudp_get() for PUD accesses arm64/mm: Use p4dp_get() for P4D accesses arm64/mm: Use pgdp_get() for PGD accesses arch/arm64/include/asm/pgtable.h | 40 +++++++++++++++++---- arch/arm64/mm/fault.c | 8 ++--- arch/arm64/mm/fixmap.c | 6 ++-- arch/arm64/mm/hugetlbpage.c | 10 +++--- arch/arm64/mm/kasan_init.c | 18 +++++----- arch/arm64/mm/mmu.c | 60 ++++++++++++++++---------------- arch/arm64/mm/pageattr.c | 8 ++--- arch/arm64/mm/trans_pgd.c | 14 ++++---- 8 files changed, 95 insertions(+), 69 deletions(-) -- 2.43.0