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 2FE97E77188 for ; Mon, 30 Dec 2024 09:09:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A8A1C6B0096; Mon, 30 Dec 2024 04:09:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A12FF6B0098; Mon, 30 Dec 2024 04:09:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8656D6B0099; Mon, 30 Dec 2024 04:09:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 647666B0096 for ; Mon, 30 Dec 2024 04:09:46 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id E6A3780356 for ; Mon, 30 Dec 2024 09:09:45 +0000 (UTC) X-FDA: 82951050420.03.375D57B Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by imf05.hostedemail.com (Postfix) with ESMTP id EBDD7100011 for ; Mon, 30 Dec 2024 09:08:14 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=bWlxbRaU; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf05.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.174 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735549740; a=rsa-sha256; cv=none; b=Eqetu8A99SDeTfrOOMO85ic9HCFyXz6SSUvZ1jA4/2kZFO/566iFY1oYug9ED4eM7Ps6mm gQV5dbhZBbSW9eRuo/DrA4mNLsXSaFHvKob9vmLN2fxr4BbRSFBHTlRgc0I5rYgzYZgSZm M4npFuryjfqMhbiV3grdNuN0raZOnig= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=bWlxbRaU; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf05.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.174 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1735549740; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=eYmLHVK0AtU6ilI7ucnXt5jLNeYE7S1uMrvnVL/VK/o=; b=D957MqyP9+wM7rHqOinKD/i1TDWLZL3ap9zCIXsB5pgYsWXKY/778c03hTNeRmjrdAemN6 hhSHORUZFw52M8TQEE9+g81dEl8yHrlnrqAYj6wG1yPyDdZQaeiHCGdf6ViRWN6MXnTJvi e3sgXGXhvswyxGxrR6e3tuDB2KcUnJA= Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2167141dfa1so112898275ad.1 for ; Mon, 30 Dec 2024 01:09:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1735549783; x=1736154583; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=eYmLHVK0AtU6ilI7ucnXt5jLNeYE7S1uMrvnVL/VK/o=; b=bWlxbRaUJKeHzerBoa8lkK6Ylc33lpAPVshC6ppVPNT+uP9Gzxgxsob48S/Uigew+w wiKxuHQ0puDFE+5u2XBwBHi0skuyjCHZ54Qxrz2lyyVFjyUgXCpA6Eb9h7JaXfGiL2VY NGGOd3k3lfLGC3chQFO4tCbdilpeNwVIFBuRxPK58j0slqaolKvCgVj5TLUGX8uv3BOg nWQ4FDGYpIDazzpnMSSZOknXtaZUI5nFrdH38wR3Cu2xzkcu994vaHUHsViWaLtKG0f0 vjCRHg8Uhf04duC6uHvCmj4EneimXER3IvsGb4bleOwa0ZOTte9nVfxP29qHEJOBIhb3 BWhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735549783; x=1736154583; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eYmLHVK0AtU6ilI7ucnXt5jLNeYE7S1uMrvnVL/VK/o=; b=ESCEi+X/p/O+LOKw9sqOonYI4rDLd+6IQfU2aDQM1nNkZl7DL2CeEFf4zaEpFHttZa gx2qVtxD75I/tdDsBbZnIUL2YqVdX0YJ0koSKmBtbD0dOYgRog5HaEjKqMbKE4imzQaE uQhzR2CPxIXScxOcPNYSTImFFMcODEO8XquvtZFUgmYxUlhbUltq9FvpkymbYE0oiaBH VNWtYRKtWJgJABy3wyvaBSF3tO4vs3J2sHL6G0Qj9RUXdNL1olK2UQI2Zkeh+4XnTZst 8tBO+8V+5px5d69pJaMBwJ5MZY3GMdqQUTJHp69sB2bYCMcjswIybRkTy7e8s+lBjygM 0ACg== X-Gm-Message-State: AOJu0YzEqn6ifymd4vVhOuQMRDwQEPvA0BYp9iYcrA9IDv6Z1n9Nov8r nBSfqaYrE7u9zWmy7Q9SVNBf+qXnxrDSScKCT9UYB+4C1tyLoUizIKQucXxprok= X-Gm-Gg: ASbGncsFApVAewF8A4eApHmy8wHD9oeKZigOgIan8NnNIlQ3NEBptQTKsAqtncJ8uK4 PzDmWD+eZWGgAH1MRDu5kNsv7cvh4zBaWw7liooRU7m8b8sUjHCW2YgrxD5nR+qC3GWpXCE3TAW mkKX/WLc35slaP0xFmbD5W7Gxb7e0eKJigLkeOkEHyOOZLqswv//GNIa6HGle7bS9wUrhdkUFNq xeID/XdOFqLGkttZsOVU+/gc8W0Oc56mCvJE1N7QMBP1SMXY/Ucw02RkkY9RDgR+AvX0MrzX/IA oaUW06JoXTmA705wKVoGLQ== X-Google-Smtp-Source: AGHT+IFA+DEWtAOVikEXL1Ne96u+hKYy4bbBxlgPSiON1NV20vNo54NDlhKj2iEhoHPJgNNx6Etn8w== X-Received: by 2002:a17:903:2a87:b0:216:3f6e:fabd with SMTP id d9443c01a7336-219da5cc2d0mr588821545ad.7.1735549782882; Mon, 30 Dec 2024 01:09:42 -0800 (PST) Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.150]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-842aba72f7csm17057841a12.4.2024.12.30.01.09.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Dec 2024 01:09:42 -0800 (PST) From: Qi Zheng To: peterz@infradead.org, agordeev@linux.ibm.com, kevin.brodsky@arm.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, will@kernel.org, aneesh.kumar@kernel.org, npiggin@gmail.com, dave.hansen@linux.intel.com, rppt@kernel.org, ryan.roberts@arm.com Cc: 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, Qi Zheng Subject: [PATCH v4 05/15] arm64: pgtable: use mmu gather to free p4d level page table Date: Mon, 30 Dec 2024 17:07:40 +0800 Message-Id: <7c12112047ac230809aacd0379259414b9b0d3a3.1735549103.git.zhengqi.arch@bytedance.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: EBDD7100011 X-Stat-Signature: qbrxc5qrybii5y7qzxjqwcbfukewqghm X-Rspam-User: X-HE-Tag: 1735549694-90682 X-HE-Meta: U2FsdGVkX1+ljoLn/VvdToaSFswhLXqXtoxbQWAlc4tK0GsFRf5FBSC5rjN1D6iPoS2jrAenBZhgdr0WGIJWSx5t91OhnPAIkVb+2TigWVKlHVSK+WRy7Rgj+CPHGxKNscLnTenEjUs2ndsXCHyqE+PdsSSxV5W5BV1cXESrpyxTUR+mJUluR5ckOBtzw3oJuP3AxemvADU/6gQx6TNTX7vRvXdB37uVyNlfY6Sb/rsJSi1/HiyeJ+F7+scZ/Yka6OT3L4q3Q0mX3wtNnaUoZ8t7MBj8cV6J6v/16I6V/M32O5VGkL3qFzGc5Lz8KAHe1GWH689zAv05tpLIDzfzPcKn7k3ERsIpyFktCx1is7sBvm1cWhbBrqswOkjjlBa4JMDlIm5UqySTtY8C3dkWA1j2FNL6ZlBToHUavnLft0jfQ5TCpyH5NZBNaT656DlmlHOpzCjFbbbGmEmT0E1MjTlPWt7iaT5LSTzqR5ksS0nwKSv7l/iEp9Oho6B0nWE1rrK4ZC3DJpzgXq7tzFCfP8fbPbWoeCImRGs33jwzNBI2zU0ZIkrplGoPEvswNb9dtUpeEwGBhP3kLjTzxmrTq7OrLjTsv7i2k62ojiieBOMFG5z8yd4Sq5/WtD7OmswiRORbuZDzPGBaSfSl7cQHqWgd133Msqd8vGKJiW1jG1C8EgaAw8I8EvE+eLMm6G2GuxegUolgiiGzW4m7nREKAV5f1ONwAptk/Jog0OKPcnPBuzfUOxfWV7fe4wgZBbixubdVCnA7zVJ2WOtcZ8X9HMaiV1WUObj+LCODJrJ/ywUJtOsJA/yUP/08dhyvzDlnc9pLx5kjiLRwQNCOJa4Ns+0hVLzXlZt75r9uz2gS9KVfUReTYRn/B6SD/kEQdy1fQgzaXEJAiXTWVsgKWiELpozrfX+VkcMIhNVv6oO0MhtfUgEHhthUfuCQR9F4MVnnNklv9t6gSbpoteGL1R1 NVYglSWV Xywv08vV3OKRMoRkHbWrFFZrGjf/dCfsVEOX+goJg6J2DuQSDnhiORxGu//qw98UJp9FwUnl2VThfxuSqOrkf2CLWJMjccaXS20p3n+hXojxR1V23aNT1/G2kvxIR8WKJcTPI+sCK607yWSyaFcg6FS+5RBSCnCRwTFbwdUsw+jZVAoJW3plSGSXQ0xZwNa7KXpxUVE/k3cVrEcaRZSnVL6Xsp73igqdcdmryzMgq++HoxivkeVonyRij2+dbfC0JD7MNJSF6YFj9xGA5qjR3kq3dLWD7gV3vxRP6oTU35J6yvHkBdqrg8kgXRc+ko1PvZGq6K+3tPVB/meGvVRUckJpbk4wuiJbeTNzT5KiCjgXXnkwdhvVGUIgIe9UDdKrHMr45BoAfahGuBYGwgjRmoX1ImgM7UH0Jl/J31lS8sLmML/ZUajVbB2zPA6mWryBFqzG8 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: 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) 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); +} +#endif + #endif -- 2.20.1