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 63EF0C2FB for ; Mon, 12 May 2025 00:51:20 +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=1747011080; cv=none; b=giopnER/GfdVCrkP+mVQM7D7/OdHdUxOs33WRtNJ3B2i6jvWb8P2fuVQnzIJKo5HNS15rtCwJEY4qNs/bdi1wZwEPED1EXXIUguj3CM3EOcV24jEEKy6ORUlU5AAJn+MyyDCXVskBZkRJJQdWpoeBq27hvT3HmwOMTgH5YM6OPY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747011080; c=relaxed/simple; bh=Gv1NnCaJRtj5YUHL5deLuge6D2IllLXwpGifUryKQd8=; h=Date:To:From:Subject:Message-Id; b=KV2uEy5jJxwLgIJzmr+CJFbHH6mhRz5/BtBfY4FOYkW7o/fdSf+QhYIg6qKA5AzlHuQ4nMU4D1Q0Co+1e80rWYFT94kn6M8NnyVSNGHGwLwfRMtxRqgxcOzrrwKsLGWH3riSLgJvgJL3HDQ9WxWpcjRSKYqb/wJAhI25thKF3fs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=JEphQnGY; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="JEphQnGY" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 377B3C4CEED; Mon, 12 May 2025 00:51:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1747011080; bh=Gv1NnCaJRtj5YUHL5deLuge6D2IllLXwpGifUryKQd8=; h=Date:To:From:Subject:From; b=JEphQnGYrOY1KqAZxhN2jrSF9KTvFcQnUxwTX6ZDw6T3TVlJYwwRJu6yyGnpWvYc/ aln+kJ5+bnprGTcTmS/W/NaZFoR6NfQA/wG+Z8ELpWOPDR3MynMsyPbZ/821TUf9dG 6VCm0c0rvgq1lEEdEBNmJ6ooM04DU3Hib6VN7xOM= Date: Sun, 11 May 2025 17:51:19 -0700 To: mm-commits@vger.kernel.org,zhengqi.arch@bytedance.com,yang@os.amperecomputing.com,x86@kernel.org,willy@infradead.org,will@kernel.org,ryan.roberts@arm.com,rppt@kernel.org,peterz@infradead.org,paul.walmsley@sifive.com,palmer@dabbelt.com,mpe@ellerman.id.au,mark.rutland@arm.com,maddy@linux.ibm.com,linus.walleij@linaro.org,geert@linux-m68k.org,davem@davemloft.net,dave.hansen@linux.intel.com,catalin.marinas@arm.com,aou@eecs.berkeley.edu,andreas@gaisler.com,agordeev@linux.ibm.com,kevin.brodsky@arm.com,akpm@linux-foundation.org From: Andrew Morton Subject: [merged mm-stable] powerpc-mm-call-ctor-dtor-for-kernel-ptes.patch removed from -mm tree Message-Id: <20250512005120.377B3C4CEED@smtp.kernel.org> Precedence: bulk X-Mailing-List: mm-commits@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: The quilt patch titled Subject: powerpc: mm: call ctor/dtor for kernel PTEs has been removed from the -mm tree. Its filename was powerpc-mm-call-ctor-dtor-for-kernel-ptes.patch This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm ------------------------------------------------------ From: Kevin Brodsky Subject: powerpc: mm: call ctor/dtor for kernel PTEs Date: Tue, 8 Apr 2025 10:52:15 +0100 The generic implementation of pte_{alloc_one,free}_kernel now calls the [cd]tor, without initialising the ptlock needlessly as pagetable_pte_ctor() skips it for init_mm. On powerpc, all functions related to PTE allocation are implemented by common helpers, which are passed a boolean to differentiate user from kernel pgtables. This patch aligns the powerpc implementation with the generic one by calling pagetable_pte_[cd]tor() unconditionally in those helpers. Link: https://lkml.kernel.org/r/20250408095222.860601-6-kevin.brodsky@arm.com Signed-off-by: Kevin Brodsky Cc: Albert Ou Cc: Andreas Larsson Cc: Catalin Marinas Cc: David S. Miller Cc: Geert Uytterhoeven Cc: Linus Waleij Cc: Madhavan Srinivasan Cc: Mark Rutland Cc: Matthew Wilcox (Oracle) Cc: Michael Ellerman Cc: Mike Rapoport Cc: Palmer Dabbelt Cc: Paul Walmsley Cc: Peter Zijlstra Cc: Qi Zheng Cc: Ryan Roberts Cc: Will Deacon Cc: Cc: Yang Shi Cc: Dave Hansen Cc: Alexander Gordeev Signed-off-by: Andrew Morton --- arch/powerpc/mm/pgtable-frag.c | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) --- a/arch/powerpc/mm/pgtable-frag.c~powerpc-mm-call-ctor-dtor-for-kernel-ptes +++ a/arch/powerpc/mm/pgtable-frag.c @@ -56,19 +56,17 @@ static pte_t *__alloc_for_ptecache(struc { void *ret = NULL; struct ptdesc *ptdesc; + gfp_t gfp = PGALLOC_GFP; - if (!kernel) { - ptdesc = pagetable_alloc(PGALLOC_GFP | __GFP_ACCOUNT, 0); - if (!ptdesc) - return NULL; - if (!pagetable_pte_ctor(mm, ptdesc)) { - pagetable_free(ptdesc); - return NULL; - } - } else { - ptdesc = pagetable_alloc(PGALLOC_GFP, 0); - if (!ptdesc) - return NULL; + if (!kernel) + gfp |= __GFP_ACCOUNT; + + ptdesc = pagetable_alloc(gfp, 0); + if (!ptdesc) + return NULL; + if (!pagetable_pte_ctor(mm, ptdesc)) { + pagetable_free(ptdesc); + return NULL; } atomic_set(&ptdesc->pt_frag_refcount, 1); @@ -124,12 +122,10 @@ void pte_fragment_free(unsigned long *ta BUG_ON(atomic_read(&ptdesc->pt_frag_refcount) <= 0); if (atomic_dec_and_test(&ptdesc->pt_frag_refcount)) { - if (kernel) - pagetable_free(ptdesc); - else if (folio_test_clear_active(ptdesc_folio(ptdesc))) - call_rcu(&ptdesc->pt_rcu_head, pte_free_now); - else + if (kernel || !folio_test_clear_active(ptdesc_folio(ptdesc))) pte_free_now(&ptdesc->pt_rcu_head); + else + call_rcu(&ptdesc->pt_rcu_head, pte_free_now); } } _ Patches currently in -mm which might be from kevin.brodsky@arm.com are