From mboxrd@z Thu Jan 1 00:00:00 1970 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 6F3AA37D12F for ; Mon, 2 Feb 2026 17:20:20 +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=1770052821; cv=none; b=L2ugO1RZmR0WO9cxyIV4W89TuHPGJz0Yq+qNR7dpqb5W+2u42uZFy8bqCEGFMgBPVn/vQZFECu2BjBkOMELDVEH/sOu88oyJ3/f3ezYykWkNd1jaL7EWzWfspByHLmWuPtUVkV5yc3VMaXFfNEAgEeXk1KMR6E9I0kaLTtmlO58= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770052821; c=relaxed/simple; bh=WgXxJiTFv3+TXndyy5jrRm5KbWYgZNW/Ur4pt+9qhnM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=UfDVD5AiCGBZJ2Z5Jmewpnme3VrOlvfxmr7O6NosAIF0dyB85l1g8ZZ2Vd6IThB1Ce4rlrnTOyn8c4IAJzbZ33XdJAD5/QuI8ZUi+K9oyNJowNoZTbrkHYCdoZGcOPUc1Q20ppnUrrZZc8cUYqMKMy8TF6Ur4a/2HDVVpbsFX0g= 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=SbAp/Y9b; 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="SbAp/Y9b" Received: by mail-dl1-f54.google.com with SMTP id a92af1059eb24-11f36012fb2so5505679c88.1 for ; Mon, 02 Feb 2026 09:20:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770052819; x=1770657619; 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; bh=1DQtxS8yrd/QjxinRXeBsrnGjaP26Y5jZZVyDCqTW9k=; b=SbAp/Y9bX4zub6A5/vpxr5M9wO5Nwqi5GxqtQcfy9BVcKVamzk+HUJsl50tnzyIuFe pxIGoVQy8L6MCqjVku69czEEtZV2oYk2hGa1Msr0/J5WP0cPUurCrnSX2Mo4O6mgPwfF H1wsd7+qN+rCWSUw6BsVM4bpXjBno9AFZzKwQKDBDqfV20Li60zq1SgI6rXURCq90f6p RBjYX0WmY/mtgRKXkgdnx6O59d+wDgLvM6s92i2jz4ddkMAsZJCeCEDzIsrArhb61H7V 70V4uHycTqCXUhpd+ePvr+W33rLaSYizZxvmO3C0QUTCPG4eXCWXHhSDEOEv2/235QDY UsfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770052819; x=1770657619; 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; bh=1DQtxS8yrd/QjxinRXeBsrnGjaP26Y5jZZVyDCqTW9k=; b=n+SxRocpV5Xvpw/oHRL5uiXNwPzSEW/RnVY/j0+pMqqwAzNJYHjlaukazeKqUFxuis SWKvZNuMjE6b6TBY+eXeBdX9cnwVq1ozcuYyHxGg/I68ms9cHo0xFw69ErJBYKOhX+EU mslGF2SubO/MYZ56HuaD64eL2c0jA2HsdpI5BxmCwvv9si3vDmyP5TlXhymtWs2Lnlqf Fx//4B6enrxG/K7+fVrJHmVJ2Ub03RmDFbn381/uSheSSYKy+zDrGqC15JFSAclw2H+g DQi+Vjz1ooDEwsg5RZqhDI0OzEoOnJDJDl3srQk4y1a5o29CZQmZoBXgwgP9Ubh/oWMc 3PfA== X-Gm-Message-State: AOJu0Yy4DsKVkUBzssuG2qjudlH4sHkdIMoU6NipwbyNgh5tfM0jPQ6t tDu7Dr6wU+oE8Ifvrqqv1a+wOQpa2c9nU9kZEjuNnV1a3+lviHrXKRcqUhLgZA== X-Gm-Gg: AZuq6aKQm8JJg8ahCtLt4fB+pDHVh4X89F4ac9bC9HNNQpNt7DAW3tRxRo6mCHY+sY7 ypwMC8hv8VsTCQqm0Bb4ie33a6isIRsTrZk0Pqv8vYsTLxzvmqB7VX/PulfdQVWongJ0ooZbcfs RLmA0BHZATd9g9xVJtjf75jcQKa423VfdJPD9wbNY4p9TBnkDAeykB/qFRWDTTQhXZYXChXWqm1 MUKgmJafNPy+7qp/X7dfegvPgtReqInWq/M3eEiYQUkWO9uy+a5UQE9uO3jLFPzLJfXJxcuo+QQ lrJg0AkZye0eLJ5MJgpbCjr9qgeCnTufYYs/RwJolHsojwMf1VhVCxwV8Jardzj1p8VxZyfn3af oqRgC+iRf8gy/XZERnolQkfA8ty9Lm37XrV+H7YspNzGYiaMJSAK3KfDyrZeir4SgWa8rNiVnG4 uXiJa5UDOcKXkGS9DO7N7e+TMDcQBPIpPGx6/e07JGZ/KJkJXOo7aAg1A4TguQkm3Mg0XK8Q== X-Received: by 2002:a05:7300:ad08:b0:2b0:4c5f:c05c with SMTP id 5a478bee46e88-2b7c862d9b9mr5359761eec.4.1770052818840; Mon, 02 Feb 2026 09:20:18 -0800 (PST) Received: from fedora (104-57-70-139.lightspeed.sntcca.sbcglobal.net. [104.57.70.139]) by smtp.googlemail.com with ESMTPSA id 5a478bee46e88-2b7a1adef97sm20129902eec.29.2026.02.02.09.20.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Feb 2026 09:20:18 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, "Mike Rapoport (Microsoft)" Cc: akpm@linux-foundation.org, "Matthew Wilcox (Oracle)" , Dave Hansen , Andy Lutomirski , Peter Zijlstra , "Vishal Moola (Oracle)" Subject: [PATCH v3 0/3] Convert 64-bit x86/mm/pat to ptdescs Date: Mon, 2 Feb 2026 09:20:02 -0800 Message-ID: <20260202172005.683870-1-vishal.moola@gmail.com> X-Mailer: git-send-email 2.52.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 x86/mm/pat should be using ptdescs. One line has already been converted to pagetable_free(), while the allocation sites use get_free_pages(). This causes issues separately allocating ptdescs from struct page. These patches convert the allocation/free sites to use ptdescs. In the short term, this helps enable Matthew's work to allocate frozen pagetables[1]. And in the long term, this will help us cleanly split ptdesc allocations from struct page. The pgd_list should also be using ptdescs (for 32bit in this file). This can be done in a different patchset since there's other users of pgd_list that still need to be converted. [1] https://lore.kernel.org/linux-mm/20251113140448.1814860-1-willy@infradead.org/ [2] https://lore.kernel.org/linux-mm/20251020001652.2116669-1-willy@infradead.org/ ------ I've also tested this on a tree that separately allocates ptdescs. That didn't find any lingering alloc/free issues. Based on current mm-new. v3: - Move comment regarding 32-bit conversions into the cover letter - Correct the handling for the pagetable_alloc() error path Vishal Moola (Oracle) (3): x86/mm/pat: Convert pte code to use ptdescs x86/mm/pat: Convert pmd code to use ptdescs x86/mm/pat: Convert split_large_page() to use ptdescs arch/x86/mm/pat/set_memory.c | 56 +++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 23 deletions(-) -- 2.52.0