From nobody Sun Apr 5 16:28:57 2026 Received: from mail-dl1-f54.google.com (mail-dl1-f54.google.com [74.125.82.54]) (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 68D822FF164 for ; Tue, 3 Mar 2026 19:48:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567327; cv=none; b=AxP0GslJnAyw6pJqIeJLAHNVUIcwhoHNysd4e21k6gyP/LENI2byISsA/KOTJwFOfwfwwcAwMMiwzLKozrC+TKsFaMXiOUB72PlnUNRjvKq081vkUxK3xXixzjLrntn7XMgqMh3dn+Hj+6QwrHkJ52ZrNq9HP/9FoX8LeB9HYn4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567327; c=relaxed/simple; bh=eR2JeX3PdIh4crfJ36s+YidIpWoRBCCIDAPN8+ueF68=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XBEb5iLKldhDla3wY/idGciHcom8gKwti+qhWpmY2b88F3STm/OWHMVPuT2CIMRCp8FaOZp/loSdmlAVE5KgCPQ6W4NgYXwmE1LSkZ/iRa6Zh0DU/xMuMjrUZdEsIxZbrwE8Etxo/Hk0Qg8QGiKcJD7q0knVyCzJjSJv1VGUwQU= 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=LKMIm30R; arc=none smtp.client-ip=74.125.82.54 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="LKMIm30R" Received: by mail-dl1-f54.google.com with SMTP id a92af1059eb24-126ea4b77adso7865734c88.1 for ; Tue, 03 Mar 2026 11:48:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772567325; x=1773172125; 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=6QZyywLR6W23Tiu7K2mRjVRgp5iZjQzJfzb8/E2KBpg=; b=LKMIm30Rj0hi8BHX3lcHP6ZMKUiKkv0DaTKdpwefBW5D+AUsjIOJrKY8JyK/U4ov08 pYm4DaaEoNErcqkiFlNbx5qlUhu4XiTkaAl8B0WcJ5srAHqe0RaeSbK+G03DGcuh8Vgd riT3Y87w6j6u8N5F25BDSd6AhUGMNQvu+Ju3UF+B1e6AGfFE+0tkeXjFEJirIeStsqQx J91p4DS0dc1jHHVctUoRdz3vbPONmV8EwE+SH4Qb69GJbq84phq4M3uGceTD3ko3dMv2 7+B/M5wSnymGWQ4E4bu3EIh0FZhrYnrd0ZPeKzHCQBI4dfygQkj57hxwZKOQ3SNTt2pb z4Rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772567325; x=1773172125; 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=6QZyywLR6W23Tiu7K2mRjVRgp5iZjQzJfzb8/E2KBpg=; b=cFL+wSr+Wijy0DicB267sr5QdAHuDBFQwmUBE0hshdD/kdQx6HzBwD66CFbllnr7Fa z103W2VsHq4J6RD+tNts9Kqdk5Ay+B9vp01fxafSatLP9a7PPz0CMztyCnYY+zqvrANJ 0HFKDuSyw3NtftM+zUiRj7C54EoaFVOzGTk+J4vBAUayzNlo4Mj3YBAR6brF0bvedPv/ OX+w6Dy+MsS+MIJf86HiRJv0YFQKs6x+2ymWazh5yCYM8LM+DJcJo76KE6/82Tho09n6 Y5Jst5u5zuChgfdTK9PRW+kqoKHx3HYPa6ybv4Pxce865uIYVcm0zV9tqP0vOgC1vwGn XZEA== X-Forwarded-Encrypted: i=1; AJvYcCXvBVhQkW8sBDMLrRPwB3eqPAWFfZO2FQIRBlriB9a0SOCk9Rk+cGN7FfUqbEJRHZNLE6jFNipwjATi89o=@vger.kernel.org X-Gm-Message-State: AOJu0YwbbEFqCnuBf2+7mhudWblBDNTqU+3yxqbIef8cv3zwU7TDbi/J usqia5SZaTE9M7G54oYVZIDMUK5d1TZi2j7Vk6a4ZqQ9Lb4xZBqcud2Z X-Gm-Gg: ATEYQzxViKQm7MV4C8wHYVzbcvbiw2xRyTF5R0/exNGIpZzsoIPtU5cHmGl+ukSzp01 cGiwQy7TKN7Xqv7pht7PvP5z+IeRwEfCYKvBnJUTdWVX04qnMd2dMiZgYhrDen8bNzURoMbx04R Va7mMlFEJDlcWRrSt9fnxNxjvH0INECsabN8F0oW/1qzmLHnUG+V5amr88PhXlBffL13GTjrTLa 3/bXLEwtbvPw1MYNfL76aKRRf1CLR/431WbO0FezsDGqG47yOv7eCjlVdIQLSkDGsresb0UULg+ W0oJ+uCaSoMYkpNxDE/n/i0H+agNQio3+u52Bhh6YU7bUW2PKRKQigcTm6OQnbbW4BHtPHBOWtA GIHatGvvY85M9Zp+bzZdMOYi4myHqHUuOVZa83I6o5dXyqoGHHbTXyOl4fT6XAXdFqSSZc3Ov5I axp9JH02IJrD47DfTpqpC3BjZr8Mu8qEDJCmpFm27cfuVbcgi/0pDgpoVg3Yn4NFmIRPOghegqs 4cKQFV5saOkgbA= X-Received: by 2002:a05:7022:68d:b0:123:3103:b22a with SMTP id a92af1059eb24-1278fb68a91mr6843228c88.3.1772567325341; Tue, 03 Mar 2026 11:48:45 -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.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 11:48:44 -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 1/4] x86/mm/pat: Convert pte code to use page table apis Date: Tue, 3 Mar 2026 11:48:24 -0800 Message-ID: <20260303194828.1406905-2-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 PTE 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; otherwise, pte_alloc_one_kernel() becomes a no-op. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (Microsoft) --- arch/x86/mm/pat/set_memory.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c index 40581a720fe8..a4b1b329c23d 100644 --- a/arch/x86/mm/pat/set_memory.c +++ b/arch/x86/mm/pat/set_memory.c @@ -1408,7 +1408,7 @@ static bool try_to_free_pte_page(pte_t *pte) if (!pte_none(pte[i])) return false; =20 - free_page((unsigned long)pte); + pte_free_kernel(&init_mm, pte); return true; } =20 @@ -1539,7 +1539,7 @@ static void unmap_pud_range(p4d_t *p4d, unsigned long= start, unsigned long end) =20 static int alloc_pte_page(pmd_t *pmd) { - pte_t *pte =3D (pte_t *)get_zeroed_page(GFP_KERNEL); + pte_t *pte =3D pte_alloc_one_kernel(&init_mm); if (!pte) return -1; =20 --=20 2.53.0 From nobody Sun Apr 5 16:28:57 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 From nobody Sun Apr 5 16:28:57 2026 Received: from mail-dl1-f49.google.com (mail-dl1-f49.google.com [74.125.82.49]) (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 EE48C3BE17C for ; Tue, 3 Mar 2026 19:48:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567331; cv=none; b=cNfhhhMynmBK6yihD8U6dKidt8O5PsElp347goFiPRaJBPGgAFfjKdqjhawpycq7m42rqyQo8Yk/3vYSbVXr/5co39BEN67Yb6AdmIbTB3AvssQoTqrwJlq4eRvQ7PX9AVRBD7A7TO3d1pql7PwVjIyCdVL7zICMJV070BJfklU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567331; c=relaxed/simple; bh=glqtPpn8z3v+qd53zDSI4v8EN69nrHdShbPyEGz6lSU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CxrRGHFS+afIBwNTbktoNDVTHausV35t6Cy0zdEOf6SYA0PshESVZerV1e9QkRj7eF7ZRnIVuwp6HWaknitRNVXsoLIDJq9zr3f5A/V5tXAX5wVNh8xt0X628XSxg7Yojqg5L58k71Np42qc13kR7Ft6GTqgrnuVQVKcHcwnGUE= 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=PQlVL45r; arc=none smtp.client-ip=74.125.82.49 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="PQlVL45r" Received: by mail-dl1-f49.google.com with SMTP id a92af1059eb24-124a635476fso7082556c88.0 for ; Tue, 03 Mar 2026 11:48:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772567329; x=1773172129; 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=ija5cl5iw/lXAYwYtLBqZs6EcpnK3FanNYd7fnqfYMs=; b=PQlVL45r25pjws5A/6DNTmAg+Jv/JloYTgrufHWPnldCdUemmg/EneHetIMlK9WfED PsobgEOWWbqKybYTDPT5050Kv32hYuH0BWEK9fAakRH0qjLGAdIWm+E0F/jMVEU9iaU9 yr0raPCy6jvk6TlbTcWgs7/2x3+N2KCPqVXzHNDZq6knSe4cIFYnwEp29P6YWCUHc1Q/ ruzs6+H4XG77O8Sk5IwBHPVqrQ+1dFLZXcqQLNmR2WVZ1DCSL3AYXq3Ku32w2ijKt+HL OPlIkVdwZvPal1qF1UMNZexX646CzLjTv1QJ3ybs6peuXS1Hg5pcDCGaj+2O2Db93lhM +iuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772567329; x=1773172129; 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=ija5cl5iw/lXAYwYtLBqZs6EcpnK3FanNYd7fnqfYMs=; b=WdfDE2+2IVUp21TyQAiE0uRcXjLky/K/jIst2d+xc0gI1ED7l/mOcEUZ3hPvGqQCQU T1JMhGskqhlP6QMcq6Rl6TlA/4IF+41ez0Yui2+wAlkdDFeV+4kbhCBM2wziH/JklASL 5H3uaVVzFGS+wqAOi1bJFaKG6+44osZOezRh2IE7UPO2nEjfxne/wM8VECIkQndm+e0Q MsiLj1D/5V2QfrefDtQ79rsFi6GE40krGdRhT1V1N1qs87BaZQDLm03JnGrbJqhO4F/O PjN0RXPBz5NFfn364GQxp+NUic4kLW2CyuefHQtvZZ0mhKRE6095Rd1z7aoGfh09qQ7P gzRg== X-Forwarded-Encrypted: i=1; AJvYcCVj2vHojfverBeSruCULskcc/L5bahSbzJC9PZsRKhoIkgUB2gJqEDPYHJcNTY/W0rLbNy8TtuAD7mParo=@vger.kernel.org X-Gm-Message-State: AOJu0Yw++Q0+iRurjXm+KCPZtq/tMbKkAL36pJCXJpj0ez+pxCVTLYKM 2GV1mXrjcRVjXQvrzhvbXInypXIhQ3a6JThUuCNAPHmDMv2JuMGeslyz X-Gm-Gg: ATEYQzxrewdP2xwbfo39/FM1oOfAYYTGg/EHn7bYaryTA+RZ3oADC8h0fFJgNpcsroc k/ObUsriuPObbPLteyznyyxlUE7ivTrbX/dvQugyKLRDmY/BXeINf5aQDH8PcevHZblwGaz92sq BFmcj12RgceW60dHQzqFv19O6Psd5gQiAvW1NpALcQulVGlz7LAGOPQTE393+crOVz4KrsvLsKW XAV4ZPwm4LFhk8l8kgcYxPnc/ZYNn0f/ZtmryVnb7rT3tTftKLPvLXKuCFyz0P+KUhSaZdYIbZY xilWgXRFUfMG55dwlvT3LZIqLCNjZuhq80XG3OJ8jp87mtQITBeWH1ej7sxM41jK4tEARwGx4JT OcI6kXdE6OHDX6qdZLu54mKv861koy+feCcsMvaG0AGyiXdSqcOyNwQTU2hf9g1tcM45brK48yQ yDJVM/57XdqLFsJcQsGLAQ6gNEiKRdO208I0wvtygNNMAcW8Jui0gTVyKUc8xwMVJvIBhO7hD9q T0TurswEmpe/0g= X-Received: by 2002:a05:7022:4381:b0:11e:528:4185 with SMTP id a92af1059eb24-1278fc568a2mr6393252c88.38.1772567329064; Tue, 03 Mar 2026 11:48:49 -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.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 11:48:48 -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 3/4] x86/mm/pat: Convert populate_pgd() to use page table apis Date: Tue, 3 Mar 2026 11:48:26 -0800 Message-ID: <20260303194828.1406905-4-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 remaining get_zeroed_page() calls to the generic page table APIs, as they already use ptdescs. Pass through init_mm since these are kernel page tables, as both functions require it to identify kernel page tables. Because the generic implementations do not use the second argument, pass a placeholder to avoid reimplementing them or risking breakage on other architectures. It is not obvious whether these pages are freed. Regardless, convert the remaining free paths as needed, noting that the only other possible free paths have already been converted and that a frozen page table test kernel has not reported any issues. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (Microsoft) --- arch/x86/mm/pat/set_memory.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c index 72a260007996..17c1c28e3491 100644 --- a/arch/x86/mm/pat/set_memory.c +++ b/arch/x86/mm/pat/set_memory.c @@ -1747,7 +1747,11 @@ static int populate_pgd(struct cpa_data *cpa, unsign= ed long addr) pgd_entry =3D cpa->pgd + pgd_index(addr); =20 if (pgd_none(*pgd_entry)) { - p4d =3D (p4d_t *)get_zeroed_page(GFP_KERNEL); + /* + * Pass 0 as a placeholder for the second argument, since the + * generic implementation of p4d_alloc_one() does not use it. + */ + p4d =3D p4d_alloc_one(&init_mm, 0); if (!p4d) return -1; =20 @@ -1759,7 +1763,11 @@ static int populate_pgd(struct cpa_data *cpa, unsign= ed long addr) */ p4d =3D p4d_offset(pgd_entry, addr); if (p4d_none(*p4d)) { - pud =3D (pud_t *)get_zeroed_page(GFP_KERNEL); + /* + * Pass 0 as a placeholder for the second argument, since the + * generic implementation of pud_alloc_one() does not use it. + */ + pud =3D pud_alloc_one(&init_mm, 0); if (!pud) return -1; =20 --=20 2.53.0 From nobody Sun Apr 5 16:28:57 2026 Received: from mail-dl1-f54.google.com (mail-dl1-f54.google.com [74.125.82.54]) (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 F2A6D3E51F8 for ; Tue, 3 Mar 2026 19:48:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567333; cv=none; b=bj10ZbQQTR/QsmpSLGy8+bn8VW5vedJHWKJFjCn+xwL5h9Gs/kWQ7HIgvRn0myolkECaGWT0bxgvwUuGs0rjqNyFDyDw8ZaqCOrRxB0KS24CKq/F1mKEndDGYAbXBUmQ1ibql2AjmZqxWnga7XU/4XwDdTwgMe5H/O1ZrBbLBn4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567333; c=relaxed/simple; bh=qHMm9ZyH8Wpv6s29RZJn88hjlimTQnHrlei+LdWqhtU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=InPbCqZenEynBYQ/STW/ZGBskh6bmdChytrZ4y/NCSWh5P8W8n6K5vZ71yyxMMGgw8zC0Ck/xznHtM6oag1UfjLVk7e8P2EDfg4ihejQkFPUIG6sUqGinEaMyfpxAvOkwv8sTjr7uoxDZ5/OApde/U+KK6gKXUevmsvEdx4sZXc= 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=j80ybD8b; arc=none smtp.client-ip=74.125.82.54 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="j80ybD8b" Received: by mail-dl1-f54.google.com with SMTP id a92af1059eb24-1273349c56bso7355411c88.0 for ; Tue, 03 Mar 2026 11:48:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772567331; x=1773172131; 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=dOCB92VFaJvp1/msg1aXr5lsyHqZuKZRc8ptpqCWqZQ=; b=j80ybD8br7csEBjhqd5j7jZGSwFXDX8ZyyfIHtDdSJ6dDWag3swdVM0BZc37b1X6Ii NbatNItl0Te33lqLSy8VLakzpXFCqgOqyNb9NVB8BdPZXqUyztMRueAmrx0JVgSvdXw0 05h1u3U5xIUITw1sZz6wiXgfxUfr+epHmpJNuL6mMtcUsMEfGVJ7BSdeYedRLslFVcGS ALmvAz9eygDZsNAOZFVE1wCqdCXqtRnZulg//pINI9XLN2LYvVmPvVxG3KnITNZwgMMO UBHFMRR32AHEk7EA2RADPoM8kLCpO53khO02YIHH8re2Eb8+wMWilrYgx7i2EZnRwXPE W1tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772567331; x=1773172131; 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=dOCB92VFaJvp1/msg1aXr5lsyHqZuKZRc8ptpqCWqZQ=; b=ujh1nS5zDKaCgqFYAxOVQhQdH9yIraX7ZgxCVF+0Jni7rEJ8iz9RSKVxWB6eY82bbh W8I1xhNRSUPDyF3DWMJOZiJ+lHoyo/CMlzwrChMofx9t/Q3Dy/XweW2buPybUXvo5obf 3BLYH8Eub6SObRpHEBxz/dT5TAsY6OzhrigD5uo/P8DGQdkoI3/qyItt7JAJiOW8l6Fk ogoHVZGRlQoFOUKxc3hKHAppGNcVUNNW9Tlk0h48n8fWSdCKkrEXcqWpLWuRPZ7hNclX chhBZWH1OOeeQOZFjj45XHHDDA6aRUfQb1y/nbCSaTHXeQtOtj+cCULGQCJQg2nX/Zw+ oDQg== X-Forwarded-Encrypted: i=1; AJvYcCWjEXTtG5TS22ZWUnOVSpPJco5K5uhv6N5lr32r09R9pGZQftqjvoH867RciuRzDPtwg7yL17G+LMgskz8=@vger.kernel.org X-Gm-Message-State: AOJu0YyKhdDwSvl/pIdcg6ZXKqfUOnNNadEP3aUijggCy75Zpk+8feqL E4hQeQTXW49Oidra+LQmHfqN9ZbTh47Zd/eaCN0LpC1mbUU4OtoS6soR X-Gm-Gg: ATEYQzwFEyXVQO/wv7Pp5BZGm5ZKNX1DJbWswvCnEPD1Mqp7yoV2W1O2b09rA3hDhk+ bbjRoBVBRmikA9uBGFlpCarLun+rFUw6l+p3ODg+3jdmkQGXQJzPtg4OVrgZUbfXKIprqW43fdp TomkPg7h6nHMzEELsuLgDdCo6varyQQ5DTYeKkwddLeJcIBnVoILnwR6M5IW2ALQXBGvVdr+1Cn uxInWGImyO26IKyoLaRJRe9XRb8T3fey/CIU4y8sD8RyW7tMfyKuEwUCDwncMaxisUur6hrAwgP lG6FQ01GAppttd+RHwA07VXbxjYuipZ7DxPpeWINwFb0OpiAhGuOpRtOnusi+Igp1+z6/2lqOVa qzpdvceEwFuKuddbaPk73p28pT3aMv8halbcPyPmTpJinMTisbofoCWEvxs3lXWvWmYksK3nCWt LprIw8eHRT/OFbwJTrfEJ18DoDdBNo/QLq+RQ0GXQjhDRndv/GWOe1nvP8RydAwGpmK/mMJuI8o E4m9ojJ0I9fiew= X-Received: by 2002:a05:7022:48d:b0:119:e569:f61b with SMTP id a92af1059eb24-1278fb93eb2mr6842247c88.20.1772567331045; Tue, 03 Mar 2026 11:48:51 -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.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 11:48:50 -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 4/4] x86/mm/pat: Convert split_large_page() to use ptdescs Date: Tue, 3 Mar 2026 11:48:27 -0800 Message-ID: <20260303194828.1406905-5-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. Update split_large_page() to allocate a ptdesc instead of allocating a page for use as a page table. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (Microsoft) --- arch/x86/mm/pat/set_memory.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c index 17c1c28e3491..cba907c39718 100644 --- a/arch/x86/mm/pat/set_memory.c +++ b/arch/x86/mm/pat/set_memory.c @@ -1119,9 +1119,10 @@ static void split_set_pte(struct cpa_data *cpa, pte_= t *pte, unsigned long pfn, =20 static int __split_large_page(struct cpa_data *cpa, pte_t *kpte, unsigned long addres= s, - struct page *base) + struct ptdesc *ptdesc) { unsigned long lpaddr, lpinc, ref_pfn, pfn, pfninc =3D 1; + struct page *base =3D ptdesc_page(ptdesc); pte_t *pbase =3D (pte_t *)page_address(base); unsigned int i, level; pgprot_t ref_prot; @@ -1226,18 +1227,18 @@ __split_large_page(struct cpa_data *cpa, pte_t *kpt= e, unsigned long address, static int split_large_page(struct cpa_data *cpa, pte_t *kpte, unsigned long address) { - struct page *base; + struct ptdesc *ptdesc; =20 if (!debug_pagealloc_enabled()) spin_unlock(&cpa_lock); - base =3D alloc_pages(GFP_KERNEL, 0); + ptdesc =3D pagetable_alloc(GFP_KERNEL, 0); if (!debug_pagealloc_enabled()) spin_lock(&cpa_lock); - if (!base) + if (!ptdesc) return -ENOMEM; =20 - if (__split_large_page(cpa, kpte, address, base)) - __free_page(base); + if (__split_large_page(cpa, kpte, address, ptdesc)) + pagetable_free(ptdesc); =20 return 0; } --=20 2.53.0