From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 307A7139579; Wed, 7 Jan 2026 09:06:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767776766; cv=none; b=JKTvE81rp7U7fF002EfkTv7Bvjun+1Vx9Fvv4cP5VPHZFnZreZJKm8bE3kG47wF2ILsVfosPprpqYadWQ74V8/zVLu8Pe3lh5dWwoWRBgyTJ1/oygCgiZiORQjDrpOuzK41GUe7Dm1ZOG+ri32pjTLQB36gpLRlH7VAwCkDHk/U= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767776766; c=relaxed/simple; bh=pMgU+C5FcOLCmP6ptKqgGVGjjrLsI8HbEkAssUEFqo0=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=aGVZKvknXFNDn7nEo9Va6l6h5K63mCPER8sPd40W63bONmgztZ9UlxkF11EapwWHi9Yuy2z4+RNnOVE7+zsKeeMa6hnrg0r6Lf03ydEdBMfBdTFnJIGlQtASmoDY9IWj0uGw1pnEEBRgcKh8PeTh66HV3Y1cU0SymFNDiueL2hs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Gp3clrex; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Gp3clrex" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E975C4CEF7; Wed, 7 Jan 2026 09:05:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1767776765; bh=pMgU+C5FcOLCmP6ptKqgGVGjjrLsI8HbEkAssUEFqo0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Gp3clrexlQYTflBjEroGcywSAtzuN1Rwv0/QCEq3+PrJVFxFCVnDuCiuhES9FxML1 +DUJuEGclss/ATJRkynVca+Jnh3h6LZ1jKDlpzlWcRAo6+izc5O03Sz6x9cKrXFMgx Y9bLrHVqoYADWUH0XXdTVI1WfeT51LlKWgWoIjuvqFNTY1UuAQKsvL4rxcgKYa53RT HwvCsYN0oC3j7a2aYW9dIrhGAdIXV+DZgKRIozZxrf5fhJ5MEoUdXKbMDnSFYYNvLk A7qYfjWXWSXUlNaU2pK6XIEQpbQqJGgs3DYcZ5NSns73Gyit+KIQRcRWBuYWEkPzAs SZx9UZSS/0clA== Date: Wed, 7 Jan 2026 11:05:42 +0200 From: Mike Rapoport To: alexs@kernel.org Cc: Richard Henderson , Matt Turner , Magnus Lindholm , Vineet Gupta , Russell King , Will Deacon , "Aneesh Kumar K.V" , Andrew Morton , Nick Piggin , Peter Zijlstra , Catalin Marinas , Guo Ren , Brian Cain , Huacai Chen , WANG Xuerui , Geert Uytterhoeven , Michal Simek , Thomas Bogendoerfer , Dinh Nguyen , Jonas Bonn , Stefan Kristiansson , Stafford Horne , "James E.J. Bottomley" , Helge Deller , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Yoshinori Sato , Rich Felker , John Paul Adrian Glaubitz , Richard Weinberger , Anton Ivanov , Johannes Berg , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , "H. Peter Anvin" , Andy Lutomirski , Chris Zankel , Max Filippov , Arnd Bergmann , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , "open list:ALPHA PORT" , open list , "open list:SYNOPSYS ARC ARCHITECTURE" , "moderated list:ARM PORT" , "open list:MMU GATHER AND TLB INVALIDATION" , "open list:MMU GATHER AND TLB INVALIDATION" , "open list:C-SKY ARCHITECTURE" , "open list:QUALCOMM HEXAGON ARCHITECTURE" , "open list:LOONGARCH" , "open list:M68K ARCHITECTURE" , "open list:MIPS" , "open list:OPENRISC ARCHITECTURE" , "open list:PARISC ARCHITECTURE" , "open list:RISC-V ARCHITECTURE" , "open list:SUPERH" , "open list:USER-MODE LINUX (UML)" Subject: Re: [PATCH] mm/pgtable: convert pgtable_t to ptdesc pointer Message-ID: References: <20260107064642.15771-1-alexs@kernel.org> Precedence: bulk X-Mailing-List: linux-mips@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: <20260107064642.15771-1-alexs@kernel.org> On Wed, Jan 07, 2026 at 02:46:35PM +0800, alexs@kernel.org wrote: > From: Alex Shi > > After struct ptdesc introduced, pgtable_t should used it instead of old > struct page pointer. The only thing in the way for this change is just > pgtable->lru in pgtable_trans_huge_deposit/withdraw. > > Let's convert them into ptdesc and use struct ptdesc* as pgtable_t. > Thanks testing support from kernel test robot > > Signed-off-by: Alex Shi > --- ... > diff --git a/arch/arm/include/asm/pgalloc.h b/arch/arm/include/asm/pgalloc.h > index a17f01235c29..1a3484c2df4c 100644 > --- a/arch/arm/include/asm/pgalloc.h > +++ b/arch/arm/include/asm/pgalloc.h > @@ -96,12 +96,12 @@ pte_alloc_one(struct mm_struct *mm) > { > struct page *pte; > > - pte = __pte_alloc_one(mm, GFP_PGTABLE_USER | PGTABLE_HIGHMEM); > + pte = ptdesc_page(__pte_alloc_one(mm, GFP_PGTABLE_USER | PGTABLE_HIGHMEM)); When ptdesc will be separated from struct page, ptdesc_page() would fail if the allocation failed. This line should be split into something like struct ptdesc *ptdesc = __pte_alloc_one(...); if (!ptesc) return NULL; pte = ptdesc_page(ptdesc); > if (!pte) > return NULL; > if (!PageHighMem(pte)) > clean_pte_table(page_address(pte)); > - return pte; > + return page_ptdesc(pte); > } > > static inline void __pmd_populate(pmd_t *pmdp, phys_addr_t pte, -- Sincerely yours, Mike.