From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 400ACC02183 for ; Fri, 17 Jan 2025 13:25:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 792BF6B0088; Fri, 17 Jan 2025 08:25:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 742326B0089; Fri, 17 Jan 2025 08:25:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5E2F26B008A; Fri, 17 Jan 2025 08:25:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 3BF4F6B0088 for ; Fri, 17 Jan 2025 08:25:42 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id BC23E1C89D2 for ; Fri, 17 Jan 2025 13:25:41 +0000 (UTC) X-FDA: 83017016082.06.EA04B31 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf12.hostedemail.com (Postfix) with ESMTP id EF8F24000B for ; Fri, 17 Jan 2025 13:25:39 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=nCvHMpF2; spf=pass (imf12.hostedemail.com: domain of will@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=will@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737120340; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=XEKAG0VVDbRMDZVYLbr0bVW85rqDk6xFXu+Myl9rZ5s=; b=2AoqG7cppYdNRf1MaxYEzic+V4eYA1MXk0SosFM6ocSUt+pBbHmXWcECiuGadh26TPnDd/ 3xDb/UQP2p1A9eiDoO22SPVC0YuXDw7jU2uZfbW5GBZKQxeruVm0lYhYREKyEZuzR29GBG M+3qLBDjfeNJlbxAx0TKB5Rjb0i03WM= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=nCvHMpF2; spf=pass (imf12.hostedemail.com: domain of will@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=will@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737120340; a=rsa-sha256; cv=none; b=rLD1IaOrjNT8RMweQ05vk/cvAnC1DYg4qwHfB96tk6mnOjIFGg7XxvnshU8Oo8AIeQbd9A Jrk6IhbrYVAuFWtt5f6ntvHyJYHUYiepdleFTjZZY6IBy2M1vkaLc7O940/8jBZmUUyPpY HKaA8OgudskYDLO8wSfGCseS8fowwBU= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id D60BBA42C2C; Fri, 17 Jan 2025 13:23:50 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 84C43C4CEDD; Fri, 17 Jan 2025 13:25:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737120338; bh=i5g2DbcJlsukG3CuQeCOvnrmGoI0+t7RerfHcE2ITE8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=nCvHMpF21/84VoMzTIfTmODZawDxjude8tCR6JJtkJECU6I5I9whWXy05LWEyoVNW KSzrpuQi7EY7p8WZMS465l3rzsHJ8EnYeKCSayrYuWoVdpTDqvziBmoejLV5qSMBK6 f5E+BQjEiCRh0u6SKqq//93pPU+X4JoeMx70R+9aHhWo8pxelv+5LYbQpozArWbl4N fjahkxBv/te1ioiDTpeoXYuLizhvr0ePIgbB6YsYdqX4IS/429ehvwWhMUBrLB8HOx 2ER9LwPKInXFc4sc8Z5xZ0s6RECYLRZli7PrwB954w5tTFqDoUfRjjNblQvSNEU4sb Uskxi7/yiLEew== Date: Fri, 17 Jan 2025 13:25:28 +0000 From: Will Deacon To: Qi Zheng Cc: peterz@infradead.org, agordeev@linux.ibm.com, kevin.brodsky@arm.com, alex@ghiti.fr, andreas@gaisler.com, palmer@dabbelt.com, tglx@linutronix.de, david@redhat.com, jannh@google.com, hughd@google.com, yuzhao@google.com, willy@infradead.org, muchun.song@linux.dev, vbabka@kernel.org, lorenzo.stoakes@oracle.com, akpm@linux-foundation.org, rientjes@google.com, vishal.moola@gmail.com, arnd@arndb.de, aneesh.kumar@kernel.org, npiggin@gmail.com, dave.hansen@linux.intel.com, rppt@kernel.org, ryan.roberts@arm.com, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, sparclinux@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org, linux-arch@vger.kernel.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-openrisc@vger.kernel.org, linux-sh@vger.kernel.org, linux-um@lists.infradead.org Subject: Re: [PATCH v5 05/17] arm64: pgtable: use mmu gather to free p4d level page table Message-ID: <20250117132527.GA17058@willie-the-truck> References: <3fd48525397b34a64f7c0eb76746da30814dc941.1736317725.git.zhengqi.arch@bytedance.com> <20250113162600.GA14101@willie-the-truck> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-Rspamd-Queue-Id: EF8F24000B X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: foa9zxx9xtfqxp7c5bsifhmeu7owfuym X-HE-Tag: 1737120339-428369 X-HE-Meta: U2FsdGVkX1+LA4pTj+k+gGMtWWENgEeh709n4DK6jGgRFa7k9ReJwsR0tDVQl9ihq6kjC1HRV5DCxk2TBRTVY8lsSTngN5TsVDo4tz+RuBpqNNKVj/e+UvvTt0vCGXKY4d1dCMpboaSzlR20hHRaHGSgVSkgX5+OvNLB4pqF4r8mbLItMszfy4sskRhMNbG4BlKCj4PMF/oNIEZva/wdlgaEjaoIa5kDu8L5NT9W3e8FsR554SsASdkB9NTjEvbr/BDo2ddA4br9JKGw76eaNAM/mMjGDRq60VUlcagNHfBmnPoA1bzkyxv9sDDDBJm0ArLZe6H/Cna5qjz/XKsxx1HkMWAR64AryOylB6m44uK6QXYjjDawWxapa3rrz2mQNZCtld/SqAz2JhH9kfOKsBv+SZvrcELXZuUZDQvaYQTiF0rIR9LkPhuomasKTXkAfIie32O/MY1DeWG1I0aVvf2L90WZcyLsVjQR+nq0fSUOj/YX9krmAMF+Ti+qwgeUdRRSDlFml4vYPespNlyyfkPiF6fbb5AQcYa5wFO65PHfH1kNfND18Ai1HPnBfhUKqzeAp8fvVgbON8E87EHg8nafTvauSN3hyhPxQTT34LxPdqsO4WFztRJYZq16uVVfTQrTO1mEmPM8FmuBzFtsDwV+ZmV5dmV06TIK6nRyom6e+Th8AIhsR1OtkeOBfDGB1sWgDOP1/UkSOm9ksyR/tREV604VxECUuhv8lMTKw7hL7ScMGa2c3bp7W/TzUAlWb4HJTuASLsGgpmihpPcOQQ4da17Ezr1JOz8p4qXNLJ+4j1itq6+U7wLEpFURiVZ2b9jmOFVNA3qNTKaXIkjO3kv1BVguSnrh5vblauTSOS8I1FnwIOTGllXz4jcvfe41FmLolUlvdJmIRmyj7NvpmOYWEDoxg0yrgYOAoaYM2i5tYMlNTrEAo0eV+rWWqKiHqUj3uIWSb/kJJicZWL7 HfSb2TFI 6JRZMZJ941RjP9PcpiGF0+crJRS+vlFAvLrD+/Uxzv7YgTUR+/b+WVRnKQzcha/obT+/OP9lt4W4OPS+ZCSH6NLGWqSLBQ6ol4BREcYVHQHx7yFwELP9NgCFv2rwvWpZS5g/seyoC5g6wAXiu0WSOJaD7QRr3KVN80/kFU+4nAZtRGzyJlBNi6KvNCWhzSfK4rhGPhlDJIlBo/J9Q9hbmqMrzQMCuNK2Uo8R93DheNhkqWwOFaUGKXLts0vqvIQ4gvrrzy3rO9hB+4mrUPGvNjQcd0N6DLTxrp4MpxuNrsar194LgZoplYFkMF9GYSvBrh+F7dK/L/6wL6fR8itd+nmCtf0bVEi/uvgwnlQLF24nM7o3qMgwaVMhMuAbyj066Gd4ukOncCK3r2uqYUPVvNZoULv26QtjfV5VMk6QSJdptx2ljRcJRZMhTJBjzOaqjSEU45+cJYcZl1vA= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Jan 14, 2025 at 10:26:54AM +0800, Qi Zheng wrote: > Hi Will, > > On 2025/1/14 00:26, Will Deacon wrote: > > On Wed, Jan 08, 2025 at 02:57:21PM +0800, Qi Zheng wrote: > > > Like other levels of page tables, also use mmu gather mechanism to free > > > p4d level page table. > > > > > > Signed-off-by: Qi Zheng > > > Originally-by: Peter Zijlstra (Intel) > > > Reviewed-by: Kevin Brodsky > > > Cc: linux-arm-kernel@lists.infradead.org > > > --- > > > arch/arm64/include/asm/pgalloc.h | 1 - > > > arch/arm64/include/asm/tlb.h | 14 ++++++++++++++ > > > 2 files changed, 14 insertions(+), 1 deletion(-) > > > > > > diff --git a/arch/arm64/include/asm/pgalloc.h b/arch/arm64/include/asm/pgalloc.h > > > index 2965f5a7e39e3..1b4509d3382c6 100644 > > > --- a/arch/arm64/include/asm/pgalloc.h > > > +++ b/arch/arm64/include/asm/pgalloc.h > > > @@ -85,7 +85,6 @@ static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgdp, p4d_t *p4dp) > > > __pgd_populate(pgdp, __pa(p4dp), pgdval); > > > } > > > -#define __p4d_free_tlb(tlb, p4d, addr) p4d_free((tlb)->mm, p4d) > > > #else > > > static inline void __pgd_populate(pgd_t *pgdp, phys_addr_t p4dp, pgdval_t prot) > > > { > > > diff --git a/arch/arm64/include/asm/tlb.h b/arch/arm64/include/asm/tlb.h > > > index a947c6e784ed2..445282cde9afb 100644 > > > --- a/arch/arm64/include/asm/tlb.h > > > +++ b/arch/arm64/include/asm/tlb.h > > > @@ -111,4 +111,18 @@ static inline void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pudp, > > > } > > > #endif > > > +#if CONFIG_PGTABLE_LEVELS > 4 > > > +static inline void __p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4dp, > > > + unsigned long addr) > > > +{ > > > + struct ptdesc *ptdesc = virt_to_ptdesc(p4dp); > > > + > > > + if (!pgtable_l5_enabled()) > > > + return; > > > + > > > + pagetable_p4d_dtor(ptdesc); > > > + tlb_remove_ptdesc(tlb, ptdesc); > > > +} > > > > Should we update p4d_free() to call the destructor, too? It looks like > > it just does free_page() atm. > > The patch #3 introduces the generic p4d_free() and lets arm64 to use it. > The patch #4 adds the destructor to generic p4d_free(). So IIUC, there > is no problem here. Sorry, I missed that. In which case: Acked-by: Will Deacon Will