From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dy1-f177.google.com (mail-dy1-f177.google.com [74.125.82.177]) (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 EC8B73469F6 for ; Thu, 29 Jan 2026 17:04:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.177 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769706248; cv=none; b=Tn7XwkrrJS9G24wQQChRjz86XVNw7EAQVkA4gpMlJBokyFy9p7+eDYbbFlddaAuNRjkPC9FjdIVMPU+7J0A1M7URuKstQgtVYt3alP/70daPqZuJY+1qXGU7OU+/RZyx9QlX+ZHU4TBxesvTZewWdnIDxDLBhITwJi3uDCtbcsk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769706248; c=relaxed/simple; bh=msgbrQolRUYLOZijP40l08lshGaBLIH5eanflW8brbg=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=E7GByqsG+udsWWer/4VWQKyyPFElRkcH6jGDHBiIejPrwz8VEnHD8iIspEfofsOHb/boJ/VqdCx9NLo7GTKbA8Jj+jARSN92/OlkyNKoB1SjIGFlc72rUhBp8z34mvbl5aoBE9IFCWD9DqSngLAVhhoBCj2VCAhknAkmcAmA1Zs= 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=StKSaq21; arc=none smtp.client-ip=74.125.82.177 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="StKSaq21" Received: by mail-dy1-f177.google.com with SMTP id 5a478bee46e88-2b74f839bdfso1669598eec.1 for ; Thu, 29 Jan 2026 09:04:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769706246; x=1770311046; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=Tud5pIk5DBnqttumTWJSiTcY8mmer/BbkCgSuG/weGU=; b=StKSaq21omoh0j5JS+6xqp4tM1NBfBQESAhuv0xX2u8wHjbbsOcKlEIkdBBXKXF+g9 WLqlqer34/ja15lxrYkoKg528q4VhYCcYHYhWw6aeFBWrp3NkuJDYcGCUQ/pYj5q1U5P HmVaofQDTYQtGWUVnciEPQhJokz4sJlRvlLBhL6V2MulPX0qOrAxq1BkQqHZqL+kCmc8 9Z16IoFtXHpZlRwwA6HnXVoGA3ebbRgzrQ4sSc95LfrLN1twETFIgiK+VGNY5tJkukMH 1JEdQ9VEA8MtIBA1nRA6qIl2QW8h5mxSaREtU6w380VoBvfvf2hi8FxyBrpPkaVbOdpt Aeug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769706246; x=1770311046; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Tud5pIk5DBnqttumTWJSiTcY8mmer/BbkCgSuG/weGU=; b=YiHK0jDsgQItWSB04F2asSEhB2K7PaBA2FBEakSOeTxqsVN0fU5/EZ3bICNHsSSOhO orJcAEgVymXzbEBdyB7lvEd4RPlYtvygZ4/s/PSDfxhSnWBhcyKs35Z1wH1gZ67LhLUL w5uqAf3RXRaYZFKoFWBGdET+G3AnB/8Ib5zlWvOqdwBi9LkMEbrqKU4X121+GnMRB9jk uYHfyN70VR0Zu2KqP3H4gZp8LkLt6e+I9MuszroJPdBwKCCE8yTKhVE65W5pMkSG3LRc JE4IiotdMypJpvc9ul2JKip+9MkwpPunt0yTE0UdTJfdLNOq0vmCwNP9LQloUqgSc2CM oDoA== X-Gm-Message-State: AOJu0YwP8XiXor0mATLKL9X2cnz2tyasoBjxhsD006AVIYjaUovLSP/S 27PiE422MQ4RYgnyMrSYJBOMxBFFhXPhFq01ByFIu2Gxm9JgCpoENbpc X-Gm-Gg: AZuq6aJkNv8+F5X+WDq3dyESnoNTxHYJswk1R7NRJ4KxE5Bu+a+A7dZ2G/B/orRh2eK 6ZDtsszHeMUJ3vEJeiMvhxWYu4y9gP5yNDPC78xY0c2CTJR3oPyqCIq9jjjaXvq6L34I75Ip1ft CfdiD0AW1cShunqWVM5ogaxKfVnnPw4dtXUs7l6kG5Rjix9RNUS0IO0yqjohHIK6hkh2zzUIqyz Yj0BDJfP+snT1qXUnyldFADdXGEYS2QDhmh8PiaJoODvG/qn5SNxGRkEDbWg1t+DaTdYvqLilr3 JQltW/IwkvAhduOhBxyhvcDVy9Asq5U7wldxGMUMgzKPh3eIMO8OmbZhmP8w09sooxC6Fj0IBtd Cvj8p3vAlcUqpx+WtWZiFbVMC6kysLUx3DSk/1Zssa2ntwThBZM6/BeYcWgsmW3ayQnpa0up3Cq NWro4FO3cDRkIQ+EA1Ij15sTsiHaXK6jMHk21Npdzbj3o1DpQbdUHxBg== X-Received: by 2002:a05:7301:9bc9:b0:2af:f2c2:3bdb with SMTP id 5a478bee46e88-2b7b178ad50mr2028016eec.2.1769706245590; Thu, 29 Jan 2026 09:04:05 -0800 (PST) Received: from fedora (c-67-164-59-41.hsd1.ca.comcast.net. [67.164.59.41]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2b7a16ef3b3sm7560404eec.12.2026.01.29.09.04.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Jan 2026 09:04:05 -0800 (PST) Date: Thu, 29 Jan 2026 09:04:02 -0800 From: "Vishal Moola (Oracle)" To: Mike Rapoport Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, akpm@linux-foundation.org, "Matthew Wilcox (Oracle)" , Dave Hansen , Andy Lutomirski , Peter Zijlstra Subject: Re: [PATCH v2 1/3] x86/mm/pat: Convert pte code to use ptdescs Message-ID: References: <20260128224049.385013-1-vishal.moola@gmail.com> <20260128224049.385013-2-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-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Thu, Jan 29, 2026 at 10:08:33AM +0200, Mike Rapoport wrote: > On Wed, Jan 28, 2026 at 02:40:47PM -0800, Vishal Moola (Oracle) wrote: > > In order to separately allocate ptdescs from pages, we need all allocation > > and free sites to use the appropriate functions. Convert these pte > > allocation/free sites to use ptdescs. > > > > Signed-off-by: Vishal Moola (Oracle) > > --- > > arch/x86/mm/pat/set_memory.c | 11 ++++++----- > > 1 file changed, 6 insertions(+), 5 deletions(-) > > > > diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c > > index 6c6eb486f7a6..2dcb565d8f9b 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; > > > > - free_page((unsigned long)pte); > > + pagetable_free(virt_to_ptdesc((void *)pte)); > > return true; > > } > > > > @@ -1537,9 +1537,10 @@ static void unmap_pud_range(p4d_t *p4d, unsigned long start, unsigned long end) > > */ > > } > > > > -static int alloc_pte_page(pmd_t *pmd) > > +static int alloc_pte_ptdesc(pmd_t *pmd) > > { > > - pte_t *pte = (pte_t *)get_zeroed_page(GFP_KERNEL); > > + pte_t *pte = (pte_t *) ptdesc_address( > > + pagetable_alloc(GFP_KERNEL | __GFP_ZERO, 0)); > > Sorry I missed this last time, but ptdesc_address(NULL) does not return > NULL. > The allocation and conversion should be split IMHO. Good catch. > This applies to all instances in all the patches. Thanks for reviewing, I'll send v3 with your feedback included next week. > > if (!pte) > > return -1; > > > > @@ -1600,7 +1601,7 @@ static long populate_pmd(struct cpa_data *cpa, > > */ > > pmd = pmd_offset(pud, start); > > if (pmd_none(*pmd)) > > - if (alloc_pte_page(pmd)) > > + if (alloc_pte_ptdesc(pmd)) > > return -1; > > > > populate_pte(cpa, start, pre_end, cur_pages, pmd, pgprot); > > @@ -1641,7 +1642,7 @@ static long populate_pmd(struct cpa_data *cpa, > > if (start < end) { > > pmd = pmd_offset(pud, start); > > if (pmd_none(*pmd)) > > - if (alloc_pte_page(pmd)) > > + if (alloc_pte_ptdesc(pmd)) > > return -1; > > > > populate_pte(cpa, start, end, num_pages - cur_pages, > > -- > > 2.52.0 > > > > -- > Sincerely yours, > Mike.