From nobody Sun Apr 5 18:19:07 2026 Received: from mail-dl1-f44.google.com (mail-dl1-f44.google.com [74.125.82.44]) (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 136F9395D96 for ; Tue, 3 Mar 2026 19:48:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567329; cv=none; b=eyFc7dWSqpj1ZspfP1ZKUlxp2WxXMS7c14/UCxpIwSuCsXiX4KD0v4wAcgrfYl8U1T77bdXStS1FfD3c3M7+hpIXph4jnm3r9JFRx52oHlrO0V7f2dCkivIYIC4AWyAOw1XoRPWwBc2nIBWdvsAWMwUEQwwTRXDtnAKK1Tyll8A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567329; c=relaxed/simple; bh=Nv1u4W6kh4F5q0moXA5MXf/jDePL8/fPQZGGUJS/YmM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GBRtMjQNAnqe09Kzf5qyeakIYU0aS/zlwxNQJ4XVPfVmeQWeRnMram8goI4upV7SkH/AgwLPg5YO6dnAEboQY6XvRpeoYAbSfVxy1t3iHV954qJR8txoCBa4wlHR4psGmIodqeLxScE2WZgURZeo/J62DNjVp60gHDXp/4aGBpo= 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=RFsPLymj; arc=none smtp.client-ip=74.125.82.44 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="RFsPLymj" Received: by mail-dl1-f44.google.com with SMTP id a92af1059eb24-1275910b930so3685280c88.0 for ; Tue, 03 Mar 2026 11:48:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772567327; x=1773172127; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/QjuD5lsXBFogYM+Oz5d5pzv8eE9aoRfo6lRKwq3BoA=; b=RFsPLymjVXQaUf5s10bd2PEJDVDgbybg3agHPj3YtLuFX1ryHdF8b4d1AdlGO9aL3X G6OgJLmJoIN79b/P5zNt/JTgpbWKUC4bCdQDBQ2CtwAw82phA2FrcsNRp6TWfA+PR2en mZraGXbGP5GJL5L69204Tpj9PLRBHD1U3La1YSHl4Fla00bY7p3PWBDKrKSBocdIigbW WbsrRAHuiufw8H2W5wJdZj1Xiql8o99Y/4iGQWWDEb7S2QnhwB+/JekAa9WIUQS6JJtF 8ir9lYTpaG7sBR/iPw0eYc5kgK0HWBRXC3PeeUXp8+SbSfWHnS7Ibc8R/WOspHDbh7BM hJyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772567327; x=1773172127; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=/QjuD5lsXBFogYM+Oz5d5pzv8eE9aoRfo6lRKwq3BoA=; b=tUr1FLDftFNxrH6TEatmR/tv3QTRGxHd+2xLFul9a82/RpGKxKZn9s5f3NT7fV+s/W zgeuIJ5yfp30XsP+v0t+DNfQBGFmBNjb2dwLa9yZrqsVSo5lviPHPBQYww7/YhSRn+UV lNGdxOstKKUVoRkEBq7SPjOladlEh+qixRZGb+WFp5LFZxOn7zbf3kLKm7CiN4qHV12v CGYaANQDfvsUgrwRIWirf02pTxl51uWG5imi3xQvXlgvyN+h0wgoMRnHRF5J+K4hJfbv KTvpZ5j4sLzVGSWp1SPnqGcXd5Xr0LJrVxF9c7IONdLt9Zq8m1XJL/8onGQSueedbEhO 362w== X-Forwarded-Encrypted: i=1; AJvYcCXidAhCl8wefLh0zVnajNS5hmGgE1GfRMQGYUjT75VTGXb2NkuVe4qkmONQU8dzN5fDd6PTrYPOIu00EkM=@vger.kernel.org X-Gm-Message-State: AOJu0YzDjDzSg8tKxdBD8hgsL90Gl5VK/Qr0cW9qo7R2HLe7m3iDLNQ0 lLXEs7qdvmb9E6M49SA+iOWUA+8T9NwfSH7zAUgZBsE/ZGQjhXOqEOPu X-Gm-Gg: ATEYQzxeAD2tSSt577uWaC00NaGBK+wLDroqI+Wp2BW8s27d3PcZonPrb6K2e1dlcjA +LotFkvnarxBlonrFofet5KhsxrFna7Jfuycm1km4AcjqQ9LPZshue2zGkWjoDsgyvPKx2ilIDx qAoHCUhfZ6VdxPs6Z+PBa8CCLwIzeTH3IbOhrRhP3UFCTtPdCRGk55EXQPyUVXUNmjAD7PDVGAl y3toC6Zg9D+3ICB7ZGmacBTQKoWh/9MM0PpS/a7WGR0439UYM21VeEaBBBa9E6kMPQAIo4M0t1s TdysZiVdUV8lZHMAEWuL1U06UNELRCp6wqP1Kwoi9yM9oTZXgtONNZKmZr6F/yGvmJiLQrxP8yX cQNvjLQnzOFWsl3RwKDqSh7UQIEaO0rCdGeEDiQxnS8e9/OIHGxHwGl6dnLzdGF4zZE9pmpaiCq SlCW6dZ6RaBySe9yasWJoZxTU5AgUNS+UmKgCmKZF+KLmZ6LXLqrPvEVQKrvBXPnwcG7WgB+RyH VcyU0esVmAS36M= X-Received: by 2002:a05:7022:6882:b0:122:154:7826 with SMTP id a92af1059eb24-128b0d05121mr1278703c88.3.1772567327147; Tue, 03 Mar 2026 11:48:47 -0800 (PST) Received: from fedora (c-67-164-59-41.hsd1.ca.comcast.net. [67.164.59.41]) by smtp.googlemail.com with ESMTPSA id a92af1059eb24-1279e9950cesm9258748c88.7.2026.03.03.11.48.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 11:48:46 -0800 (PST) From: "Vishal Moola (Oracle)" To: Lu Baolu , Dave Hansen , x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Andy Lutomirski , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Rik van Riel , Andrew Morton , Juergen Gross , Yu-cheng Yu , "Matthew Wilcox (Oracle)" , "Mike Rapoport (Microsoft)" , "Vishal Moola (Oracle)" Subject: [RESEND PATCH v7 2/4] x86/mm/pat: Convert pmd code to use page table apis Date: Tue, 3 Mar 2026 11:48:25 -0800 Message-ID: <20260303194828.1406905-3-vishal.moola@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303194828.1406905-1-vishal.moola@gmail.com> References: <20260303194828.1406905-1-vishal.moola@gmail.com> 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" Use the ptdesc APIs for all page table allocation and free sites to allow their separate allocation from struct page in the future. Convert the PMD allocation and free sites to use the generic page table APIs, as they already use ptdescs. Pass through init_mm since these are kernel page tables, as pmd_alloc_one() requires it to identify kernel page tables. Because the generic implementation does not use the second argument, pass a placeholder to avoid reimplementing it or risking breakage on other architectures. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (Microsoft) --- arch/x86/mm/pat/set_memory.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c index a4b1b329c23d..72a260007996 100644 --- a/arch/x86/mm/pat/set_memory.c +++ b/arch/x86/mm/pat/set_memory.c @@ -1420,7 +1420,7 @@ static bool try_to_free_pmd_page(pmd_t *pmd) if (!pmd_none(pmd[i])) return false; =20 - free_page((unsigned long)pmd); + pmd_free(&init_mm, pmd); return true; } =20 @@ -1549,7 +1549,11 @@ static int alloc_pte_page(pmd_t *pmd) =20 static int alloc_pmd_page(pud_t *pud) { - pmd_t *pmd =3D (pmd_t *)get_zeroed_page(GFP_KERNEL); + /* + * Pass 0 as a placeholder for the second argument, since the + * generic implementation of pmd_alloc_one() does not use it. + */ + pmd_t *pmd =3D pmd_alloc_one(&init_mm, 0); if (!pmd) return -1; =20 --=20 2.53.0