From nobody Fri Oct 2 01:56:11 2026 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CA6F53C819C for ; Thu, 6 Aug 2026 10:04:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786010681; cv=none; b=JoeF6RbYADsbCpkBPyBuiMOvipNWdrGmw0ttdnGcsZ8tzcbWLqg75gkUOc6RmjgOBMm4Gf508LSVzPTzbEYhGJCowLPDUjN6TkY09mUMqKO89h1Gzi+/hyHSdhU5yQ4reJPYsnJbzrvy6k68kEqMvlD4Z/12CCE2O66ibhSxD6E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786010681; c=relaxed/simple; bh=ofVDZ/Z/TKIRvDd+K9Bo9a8HahIa7BSLiKWlEJcyuK8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=X2cZ5wU0isihqG0eR7Ako73AI1DilYmL6i4Hv2iBavkKvrW780YD17XSKEI9aot/IfpsucWXaLC+w38kBs1ryOFsTHdPRP4siBrSMw5LpjXiNcwtcq0HUhFKNQks6IkH7Q4zUVHDCCAakZgg9m5KTmEbtHxEFME/byLDrQvGNr8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com; spf=pass smtp.mailfrom=bytedance.com; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b=UCroiBjR; arc=none smtp.client-ip=209.85.210.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bytedance.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b="UCroiBjR" Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-84e507b079dso1291750b3a.0 for ; Thu, 06 Aug 2026 03:04:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1786010678; x=1786615478; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=XbvQbFMu9FpzLP51q2agJRmM6RlOhIh48gDVj0jWfHU=; b=UCroiBjRtQLAOsHmnjhCe2LWr/r6Z10xgE2W5xOpMsATRwLujKWWzfSN8ed61UDRER FDyDDT93GE4KZBP0nqo10Ewi3SUpjOJ7229BcP7kgrNU8HDei8HwopvXAfEnaRUYE/+r oEEV4DJUZRkAaYjkDo6PNa4jZLpE40WENMiS4MjLODUs37AIKBhWmu0SR6otoD+5mu98 bisl0ZS1eF20FtV/FuPviB6B+QXnbKYvrD/lWWu3Xewb1+/uZlQbE7sYUBBueoPzwu0/ HApecCmczuSv95I3dw2Fw33R55l0zPxEW3+2R11DJ2YgtiWDnBSTiaCg2J6UvF5NfKFK dxJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786010678; x=1786615478; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=XbvQbFMu9FpzLP51q2agJRmM6RlOhIh48gDVj0jWfHU=; b=qZX1vwXb5iwWEZBqrhLKNQFl79OU5o5DRYs5Z3Bh/r82iOF/uRFHg48gIshxPqnavZ Lq/xfs5DmEh08eIUDX3dhghbGnlZ0TivJAxI38Gg4SRa5zy/CkpH8UgnU+y2VbYnhI/g YK/QTZY6qmoSiYDs2G6Iway3BQGVaxUWeM/F2bmrgq2u5Sej8hpoH2T+Sc6iwU+hDrDz zjPAufSEBI+XEIADKVSdP1A2wJHXl7npOUpof/CC1CIHq1Sduu2b6HSOg5g0SWMW07LO IHiiRf/oW02Ne2CtcWGNxgo/IyPVvTbHHE7X8BhuUIannBTwWtZbwwv0006ZHZK0/whS 2EAA== X-Forwarded-Encrypted: i=1; AHgh+RpTQ7FTguxKKh0I+JXdoKQD7LbTsw4zw3ZZQc1RFJQzR9/wkhqorOo4Ld1PSx9AoFM6AmIBfmZhaicCXT4=@vger.kernel.org X-Gm-Message-State: AOJu0YwXsLfToBrbGYY3cPB9U7bqFua5APV84x29OqPiTfet4V5cE4iS xhdu/Zi8//y5n5erQma3DfsNpPoPZN946buhXiz1UPRFqEysscmws8C7RP+WCvnDMVg= X-Gm-Gg: AR+sD104FSvLEPtpzPinGlJHGjNX16mJtx/dkX0JhJGFAcZqPW5Z9ARMyIe9tSvIpCH wBAm5xCIth6w4FoEOF3tFZUeiJTgeUnriUfZIuYWKlEQ3CKPgToqOR3Ug+JqFkiWrJIsrt3uEG2 PfAHxwFUYzcuEb1woMf26YX5YzHmgHGrijUJHxkNKKEIMYxuzazK7pRcU/njrZbt/Tozue8QDw0 KD6vp7eZ7F4vgrUfkgZmbzkI2RQ10xw3LNgHX89S4E1iA95YVjptiE4yUJeRpThOu1b1Q4LdbSc frs+lWJxuvzc6CaMuEwTGqN4S41KzasmUsJ8brHrCb485lRziyV3qD9Sn7Y+FMkxAXxP3l2h4bG rJ2P5rCbbs7Z2VylyAJt55bjsCTsTT41qD/VqzVB5F/82/TzwPrEwcWVGPQlE3yZxFSAqcTyLie Mc9gsOEA7ZwVNZGZguFtoME4rZevtg4L+pEbwCNc05tpna0y8ZXDN0KvLO7AFI5uKm4qVGg1dBj AGvvJc4 X-Received: by 2002:a05:6a00:b90:b0:848:6447:e09c with SMTP id d2e1a72fcca58-84f2e152a10mr13558367b3a.39.1786010677915; Thu, 06 Aug 2026 03:04:37 -0700 (PDT) Received: from n232-176-004.byted.org ([36.110.163.98]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84f45389e68sm1089248b3a.4.2026.08.06.03.04.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 03:04:37 -0700 (PDT) From: Muchun Song To: Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , "Christophe Leroy (CS GROUP)" , linuxppc-dev@lists.ozlabs.org Cc: Andrew Morton , Andrew Donnellan , "Ritesh Harjani (IBM)" , Rohan McLure , Muchun Song , "Vishal Moola (Oracle)" , linux-kernel@vger.kernel.org, Muchun Song Subject: [PATCH] powerpc/mm: remove radix-specific vmemmap PMD overrides Date: Thu, 6 Aug 2026 18:04:31 +0800 Message-ID: <20260806100431.507837-1-songmuchun@bytedance.com> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" PowerPC radix vmemmap population has private implementations of vmemmap_set_pmd() and vmemmap_check_pmd() that duplicate the generic helpers in mm/sparse-vmemmap.c. Remove the radix-specific overrides so the common helpers are used instead. Since commit 4edd70ee6a7d ("mm/sparse-vmemmap: flush_cache_vmap() after hotplugging vmemmap"), the generic sparse vmemmap code calls flush_cache_vmap() after vmemmap population. On PowerPC, that provides the necessary ptesync. Signed-off-by: Muchun Song --- arch/powerpc/mm/book3s64/radix_pgtable.c | 26 ------------------------ 1 file changed, 26 deletions(-) diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c b/arch/powerpc/mm/boo= k3s64/radix_pgtable.c index cf692b2b5f7b..08ab371e4722 100644 --- a/arch/powerpc/mm/book3s64/radix_pgtable.c +++ b/arch/powerpc/mm/book3s64/radix_pgtable.c @@ -987,31 +987,6 @@ bool vmemmap_can_optimize(struct vmem_altmap *altmap, = struct dev_pagemap *pgmap) } #endif =20 -int __meminit vmemmap_check_pmd(pmd_t *pmdp, int node, - unsigned long addr, unsigned long next) -{ - int large =3D pmd_leaf(*pmdp); - - if (large) - vmemmap_verify(pmdp_ptep(pmdp), node, addr, next); - - return large; -} - -void __meminit vmemmap_set_pmd(pmd_t *pmdp, void *p, int node, - unsigned long addr, unsigned long next) -{ - pte_t entry; - pte_t *ptep =3D pmdp_ptep(pmdp); - - VM_BUG_ON(!IS_ALIGNED(addr, PMD_SIZE)); - entry =3D pfn_pte(__pa(p) >> PAGE_SHIFT, PAGE_KERNEL); - set_pte_at(&init_mm, addr, ptep, entry); - asm volatile("ptesync": : :"memory"); - - vmemmap_verify(ptep, node, addr, next); -} - static pte_t * __meminit radix__vmemmap_pte_populate(pmd_t *pmdp, unsigned= long addr, int node, struct vmem_altmap *altmap, @@ -1055,7 +1030,6 @@ static pte_t * __meminit radix__vmemmap_pte_populate(= pmd_t *pmdp, unsigned long VM_BUG_ON(!PAGE_ALIGNED(addr)); entry =3D pfn_pte(__pa(p) >> PAGE_SHIFT, PAGE_KERNEL); set_pte_at(&init_mm, addr, pte, entry); - asm volatile("ptesync": : :"memory"); } return pte; } base-commit: 9a4cdc958dd79fc6c3b20b51a10debec6ca09fec --=20 2.54.0