From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) (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 8EB211531E8 for ; Mon, 29 Jun 2026 18:58:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782759488; cv=none; b=ESa3NPQiVoOjXar90PZQ4yC/nAURi+1BBtIjw96XHAp0qu+CGY+K4hog3G1BGM61B9Ke9GKAZUfBGDcQ/Vm0l3KXkSPlD4d+zedqg5/xCwOUHsPC/5vcvzrnpGg9NDHJfztgdJHhADzdm/3sm3gB2mHsUmvbU+BEGmRZtjlqqUI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782759488; c=relaxed/simple; bh=qjWiaXYG/LMTG9yY7I7+afNpC78RfV7/q4EhnjplT0Q=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Kx9n3XIbQvc0BMew1RzP+MkRXNsCmo5mEz43dL1Lr01zhSbMGVCqWETBdmM+s28jauzntHpjGSIcAZrhH3KfLyH/UAzZ7rVK2BnlSZUMb2GElinTtD/cLb9JrueK+z1a3Mc+e/RBvhFBSwhJ91pnwephp2YDQw8ueHTg73riTOo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=OuZ6DwVL; arc=none smtp.client-ip=209.85.210.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OuZ6DwVL" Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-8423f236418so1857061b3a.1 for ; Mon, 29 Jun 2026 11:58:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782759487; x=1783364287; 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=V216nmU9ttJM2RugBVItOUGA9QghN1LSEfvMALpwJOA=; b=OuZ6DwVLncGDhYawwpc5LPi1JIeOuFGQPVnlwyqO+eLrBbJn25Spbfthi+Q3PCAM0U gApWH9sUKTRAQCK45q5EW8bqJ5P0KlO7kDHhR5ZNcXjdFqmOmnO67o3LzaDBG2vhTK2j Ba4VtFoEf4/uccTeGOsst85ILRL6dCBmvMuHsAJ9xIsofB5jc0/A+BDAnH42ogsEqCR+ bHvuFOkq57gP6g36Hq3oezXz2MItDqza+VKpXzr9IJSTz4EV8isVmSGjbN2YXHYO1yJu 17ttVwFHnE7Qp3GabHOMiJRS3qAXIjwNkiO3fsqhmBxHVGNY8MiaxARJmZoEpDjSURNp WL+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782759487; x=1783364287; 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=V216nmU9ttJM2RugBVItOUGA9QghN1LSEfvMALpwJOA=; b=k1sxxx3dYtKFAd1ggMqgS4D0vvTMCBxUUXbom5jl/hQnhUX29yvDCYZBRJjgRWR0Xx z4Fx5VH9uy0Vem+RjIdQ+dwLtT025zQ5sM6EXZPKCJv52H2jfmOn1Y/9upxjFwR7uAoQ 746mCLpocMoBkxEk9U7WSSaJZBeBqQ4/mlYj/FKIJnmS50ABsGHzuLvHmXkrFxGR+/E4 uu+VXNxD8LGdSSOrvceAttEGnZi2oFprlqafmMbUGFxQFQVS0KEtcgSqiGB41QfD8+Su UaiWTfPA6d4v4KkU7W18X34eno8s/knqy5ym3m+EzFf2NDHbLee0zgTTQYEFaEkRG4IH O/xw== X-Forwarded-Encrypted: i=1; AHgh+RpEjxnwJhfCf0SBH8i1TGCOQHpKVuuOZuiRTsm9T2YXbCH/c6vsuu2oTjPs0tcVwSVEk8KtJ4SftPMsbHI=@vger.kernel.org X-Gm-Message-State: AOJu0Yx0w+/7Dkyp1jb3aguWdxOrvn34hXbpN/XKpO9XP7m1txLhTxCG WAPlBJ5pV2lxyV6AR7TyBVxE6l43duM7rm0Z61DApJBFhiyDe8SGAizc9p18Ej3c X-Gm-Gg: AfdE7cnDpmoLWhj8YxdIOqhIg48THLeSp5Hq8zUv2rCS+WSbivaGruQ+kH+JvQRUWed ai1qCT7XRVKhgXqfVG2wDLQ1vDLeKBnL1GSMRO4k2vTyb8o+ZvP6O+Y+7cZ37V9NqG0Rumyntss /vudxDxXtFwtwLoeyrgz4sk29YknVOOisRgDM45IajfymrUkA7nBc0i88/cc+gWmQIuIb9pvrVu NUCf489cEpaObW9eDzhZnkUm91X76dWr5T5v/xYW0eecCO/fqW2OjVEiXiD7kxupMztOu5O89rI tW+Hr100G3Q/Esqpq5pgNZMulNnq6Pt7nl8ArwAd7sJ4LKN+vL/ZOeWgI2lj2dhs3K4VngNu0Vn 6CqmIxGw3JHY8Aw6Wax75bZDomL1e6Vc3Tl40iaaJjMdWuo0+k75UCy/t9KdSzWCUT9FRnpcB4s RdtiTd9pnurK2DngpPIQrkAhBGZNqPbw9kVrM2gw4ERSzcyg1LNB0PlUhbnYZ3AxOhUwEbavA= X-Received: by 2002:a05:6a00:8c8:b0:847:9c3a:b77f with SMTP id d2e1a72fcca58-8479f232bebmr511836b3a.35.1782759486753; Mon, 29 Jun 2026 11:58:06 -0700 (PDT) Received: from fedora.hsd1.ca.comcast.net ([2601:644:937c:6c90:6d4e:7b2d:4a39:fb0c]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-8479ff8f959sm223955b3a.3.2026.06.29.11.58.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 11:58:06 -0700 (PDT) From: Vishal Moola To: Dave Hansen , linux-mm@kvack.org, linux-kernel@vger.kernel.org, x86@kernel.org Cc: Mike Rapoport , Lu Baolu , xen-devel@lists.xenproject.org, Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Andy Lutomirski , Peter Zijlstra , Juergen Gross , Boris Ostrovsky , Vishal Moola Subject: [PATCH v2 0/9] Convert x86 pgd_lists to ptdescs Date: Mon, 29 Jun 2026 11:57:33 -0700 Message-ID: <20260629185742.126987-1-vishal.moola@gmail.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: 8bit This continues the ptdesc conversions for x86[1]. This is a necessary step in preparation for the separate allocation of ptdescs from struct page. Once ptdescs are not wrappers, the pgd_list should be used to find our ptdesc, not page. In fact, after patch 4 we can successfully boot a 32-bit x86 kernel that separately allocates ptdescs. All of the patches are rather straightforward, I just kept them split up for ease of review. There are no intended functional changes as ptdescs are currently still wrappers around struct page. [1] https://lore.kernel.org/linux-mm/20260211195233.368497-1-vishal.moola@gmail.com/ ---------------- v2: - Collect Review tags - Rebase on 7.2-rc1 I've compiled and booted both 64 and 32 bit on a kernel with separately allocated ptdescs. I ensured the codepaths were hit for all the changes except Xen. This applies cleanly to 7.2-rc1. Dave, can you please take this through the x86 mm tree? Vishal Moola (9): x86/mm/pat: Use IS_ENABLED() instead of ifdef x86/mm/pat: Convert __set_pmd_pte() to ptdescs x86/mm/pat: Convert collapse_pmd_page() to ptdescs x86/mm: Convert arch_sync_kernel_mappings() to ptdescs x86/mm: Convert sync_global_pgds_l5() to ptdescs x86/mm: Convert sync_global_pgds_l4() to ptdescs x86/mm: Convert pgd_page_get_mm() to ptdescs x86/xen: Convert xen_mm_pin_all() to ptdescs x86/xen: Convert xen_mm_unpin_all() to ptdescs arch/x86/include/asm/pgtable.h | 2 +- arch/x86/include/asm/pgtable_types.h | 2 +- arch/x86/mm/fault.c | 8 ++++---- arch/x86/mm/init_64.c | 16 ++++++++-------- arch/x86/mm/pat/set_memory.c | 17 ++++++++--------- arch/x86/mm/pgtable.c | 4 ++-- arch/x86/xen/mmu_pv.c | 22 +++++++++++----------- 7 files changed, 35 insertions(+), 36 deletions(-) -- 2.54.0