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 197ABC02180 for ; Tue, 14 Jan 2025 02:27:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 97EEF280003; Mon, 13 Jan 2025 21:27:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 95635280002; Mon, 13 Jan 2025 21:27:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 81E52280003; Mon, 13 Jan 2025 21:27:16 -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 625B3280002 for ; Mon, 13 Jan 2025 21:27:16 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 0949114042D for ; Tue, 14 Jan 2025 02:27:16 +0000 (UTC) X-FDA: 83004470472.16.7CD9A47 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by imf10.hostedemail.com (Postfix) with ESMTP id 85D68C0010 for ; Tue, 14 Jan 2025 02:27:13 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=dqhOQCKv; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf10.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.181 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736821634; a=rsa-sha256; cv=none; b=OFXc8Ia3kItGEC3/KtQuq6uAtSYmXf0+N6c9bmpJuJ+DmixQg5zi799vbQdgWCVtoWxqpx HOWAnFPvsHNUlnSQLFgs+nY6pDkCKyll8Q5DDoORG3aaGOh/DsNIIqgc/416HdZ3nGOegu dl9GAlquFHmSNzHQNDOE/ejVIxyIPtI= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=dqhOQCKv; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf10.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.181 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=1736821634; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Q3uCzTDF/NUXWi9pKun3Q1ZeVpbVlQmIUTgvJ2reRXQ=; b=sHWWGg7jWgVBldEDf0KyfEp12r8CxqwGwKSf1A+T/TlkWYU00Bb+qAM0HAp1wdiuD50BNd UVX4GmOOvTtMqT7fhy/6nsnb/lF7x2rLKqaTB2DkwJEzdBjTv7W1VpTj8G60srtR8M5rUw xnky1fIp+0vuFpVZNCxT1mhP5FH4MkA= Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-21649a7bcdcso84523235ad.1 for ; Mon, 13 Jan 2025 18:27:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1736821632; x=1737426432; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=Q3uCzTDF/NUXWi9pKun3Q1ZeVpbVlQmIUTgvJ2reRXQ=; b=dqhOQCKvISdYiwt+lClhZqaJRCchdUWIyFzAPaJT++FNFULrXGYaApATlE3gj5XNjM l0tMkEEA1UKvjQ+mFPfffxniwDdJVWIBPOUoHEvaN42PhdPZwsyOyeVoTzlkVu/BHmPa k+IBKoA5FIDBP5UrwrAoRTKYzt+r8sfLx8tlhwZGWFVQgcZt7Z8aJgSVoT48V8473OT5 bPuyZa606oKJ/JBThfrOrydz7fXQGSGJ/y9STo9Mqt3eGsC/b97ZU3qOYUgd2DQOorip ZWVGSN+C5bU2Ut18xLts0iM2vE5VapUlQfvrAzXuPMX1epN6chnLuiEzMAULjLPuSUuB 2FJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736821632; x=1737426432; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Q3uCzTDF/NUXWi9pKun3Q1ZeVpbVlQmIUTgvJ2reRXQ=; b=mKkKJ91ajKJ22SPkYMMIsr37+B4UaI7VV9UU0/7yQ4DcAfg6XszvGCbQglQxwhHDn7 yymSj9olBC/g35f7yiaA9O5EjH9e6MYrPp1Er2eIO/QidSXDOYfd+V9GgHyZ2xna5LFw RnwBa87pRj0RT2RGT37xPX6y8lGtHHKDHtgCp8zzD5f8iG2AJD/8BsAjq4KhamDK9yV0 vjcsB42APUQpcGi/Lab4CyhWsfrKDCnNhi99g2ZK8ENyV7B5gXJMol9HLnH/L6kdceqA zU9FF2JoTJNFg4adscR2WBdjcMkA/nHBrw+Tb44iJ+UelSyQJjx+pEJ0D7rqcN00mFFl 02JA== X-Forwarded-Encrypted: i=1; AJvYcCXFKPL7qeNw4M2ddz41uhXZIr02Gp8jt6shiPAxI7ysLLLDLVCJNBA5Cpo1OVAeIHT7QpUDPyVpVg==@kvack.org X-Gm-Message-State: AOJu0YzP7vD634dkFJW1sxDgCzRKgmCvC22OguexXftQF4ack87n3+wn cgedi/nGNdlw9Vq1+uxNYIIF7lqMduL60W8RbaWCOOFCk9INYs0IEQiyk78WPGs= X-Gm-Gg: ASbGnct4My6noa4T9QTkhfswu/MdeRI3rh3GH7xmGCtLulwnmznPmgpl6UvuZ3+5M+R 50fbEmwWVuSAGdwSGwFvnkXO5PMBD5tZI5CQLKBvNOOZb5mVaU/yFd5CdOKfM07cy4+D/WskNjK NsIjfLvuP5OX7csNIn5g6voxUJ0Ym4pbpvVRGFg5YVKLf7XlQbq9tr7AJTeKM3pkqmIoKP9vfMc na0BnuRFX0e47IL1TYitKzfTX3YU1VfP+dsWC05m5tnRPxKTnkYcj8pYqtvLEIG8gvf6E9TFxKc Apuy X-Google-Smtp-Source: AGHT+IFszANM2ttg3bHXqwu4kokOxCLHcRwKXlC7FRtBmzrGdqYoySfArdJur+xTrJx3xY86w59zAA== X-Received: by 2002:a05:6a20:7f8a:b0:1db:de38:294b with SMTP id adf61e73a8af0-1e88d2f6820mr38362107637.38.1736821632027; Mon, 13 Jan 2025 18:27:12 -0800 (PST) Received: from [10.84.148.23] ([63.216.146.178]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72d4056a5e8sm6847007b3a.53.2025.01.13.18.26.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 13 Jan 2025 18:27:11 -0800 (PST) Message-ID: Date: Tue, 14 Jan 2025 10:26:54 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 05/17] arm64: pgtable: use mmu gather to free p4d level page table To: Will Deacon 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 References: <3fd48525397b34a64f7c0eb76746da30814dc941.1736317725.git.zhengqi.arch@bytedance.com> <20250113162600.GA14101@willie-the-truck> Content-Language: en-US From: Qi Zheng In-Reply-To: <20250113162600.GA14101@willie-the-truck> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Stat-Signature: 4qityhnocbc5r1qrwac4p9ggjd96bdwg X-Rspam-User: X-Rspamd-Queue-Id: 85D68C0010 X-Rspamd-Server: rspam08 X-HE-Tag: 1736821633-343855 X-HE-Meta: U2FsdGVkX1+PnDQ3i2gaPs6uFm9xwWsJvD+N7rilENdE3m4gUiP4bz4CF5Sa/JTaa9P/9xtQfha7Ni/chpno86BLPkG7etJ13o4I/vkgVELUJ6mui19ojcMJRhTbZWa/r+wOWzZ9tHkszzvzI/0LKLw6yQX3Mtl6dGWDtUP2wMtk+/JQMzGgEpCAQTnPDOLHClttOvZLL07JAI7ZSAzN+0TikNa+B2zfzK+FDkMX7m5gSQ292GjmzPnHlg+IYTNkY8pXi3XWYbeDTBayxQvdrQfKWHA7ckxCoekvKIgvvZSRVwDSzez0Oc5d8utZZnzxdqFuF6ONKciRcdvw8OhO6Oxa7tBETJWd4TYV2xL0FsUJ970ODoBjoqf1V27ydpVrJHnivqSiil+b8FE0szzaL+jhKGzsOr6feuYIyaR3B/3iI+oXvMsVLXCXwrB6e6ZDC7jw7D5RaxuiI/U3qkKvDU0a83BUGxWCbqfS/RjzTau3KGuQ4Sl871qgb3zG1a78Kzir5ft0jOShbysX2EvzhPsPy7qwpQpHzD1qek0HLEJJsPhuuqzwHO2hR9hlWnxnJK5/k0jha6Hq53/QmDez763gsa44FlZLt3woN4CW8H1Qi2oI0QtBZHklOEamYyl1kaOKMwvV1u8hydAc7pBRlO5c9Uzvnn4foJdjq3TnEwrl5V3g7z6NrD+nI0V/kq3m55aSLs2JQkTq0R//e1RFvPxbXmquxK26lKhcinEJHvJNb9k+K8zvzuu8hrtXufOBvdHOT7c/xaY7g/Zsge1+FPLbJSUI343ED1V9j06wKw8cjNqZGiJ/SYU2YjCoRD7qfm29cOMhKSn6TOHiJlZYR5wr0y1h16rcxz0VwA9I8Rl4kOn3KpF8vok0kFRQPDnIofxfpPk7Iv8Ff3UGOwVNl3OFQYmirlZvXV8+gDEqYUSKMdEZU99aAuYY4bCTm7kesgKxeiEwWuiaLqP46MG 7YrfZ7/r JfiXCj3x4xZYLJccToh6jlsWJZTH2+ebAOWyEmJfAWPXFPHFwbqPJXuHb6/PmGOEnu/0lJLb8ikPDhp3wBywswRMAs1874RMPKYIWN0lyLRtikpvFbtzEL6OlvQBP/WBB7cxo1OuynOckf9BSpAj2zPcKGExmTL0CUo85xWt82Gz+bBhtonPnMF2bZs8jx9nW26EebnI1+jq2wPfztw6Fot0kCQB9DrD8+0SLvQ3bHygVmXwG39hs7uwJ0MD8egKl+uf1HXXO+V5aMBIGCmcuFclr6vMAs9n1nHEuE2q4JMzLMVZJchAQhjgc9aZm8lC86FJEzQg4e3H8luY0B09c95MAgTz6aG5Ife9kgZ3CkqUpxVkY04KfaoGL921vY2IQzN3yyHkXKB2Pf7yQh9BHv9aLb1ukkFn7xo2X7m4xNYH22Tt3E/Ayep8xtoLAtmWgaFFqbCPGL7E7TYHEG8Kt1hvXch1GaN1HUdRNgwqozjCDxH7wf/2j3DcUvozfecZzxyQwsPnjSt9V+NpvQZ+2k8+HfVDUqmzs8lUQQO2G0aqaszQ= 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: 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. Thanks! > > Will