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 C4DD0E77188 for ; Wed, 8 Jan 2025 16:07:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 222366B0083; Wed, 8 Jan 2025 11:07:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D3236B0085; Wed, 8 Jan 2025 11:07:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 04B636B0088; Wed, 8 Jan 2025 11:07:40 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id DB44F6B0083 for ; Wed, 8 Jan 2025 11:07:40 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id E1E981C8352 for ; Wed, 8 Jan 2025 15:59:42 +0000 (UTC) X-FDA: 82984745004.01.D1CECF6 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf27.hostedemail.com (Postfix) with ESMTP id 8989640016 for ; Wed, 8 Jan 2025 15:59:40 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=YZTc6nI5; spf=pass (imf27.hostedemail.com: domain of agordeev@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=agordeev@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736351980; 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=XzrBDsfbN16b57Szr+NoTSMSWpMH+uOkeqBmyngOcg4=; b=34rzeKHpp8ieE3NfBOeK2Mb2zfxDRxhaYgzI2D867KLfsvOpbEJZhMwDhhXm65gnQwLgVa Y4hzrO4x/dLK5Zmc9paqP/exRh3wkFC5bQt17yOM4kySk/kJbSZa/gLimTb3TQ9FFA7sXh 14f5kkbFeLcEzODJyFj+1ntNupdx0Wg= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=YZTc6nI5; spf=pass (imf27.hostedemail.com: domain of agordeev@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=agordeev@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736351980; a=rsa-sha256; cv=none; b=zFnPXVhd2xVdsx2ZilQFcBqv1jJwwwwCfBt39bIJCYFhiCmz8iHSILTtlwuvTQWJzletR2 dPtu+xNQJpUPgZukza1JW8YUFC3+eVtsEtWqXnGfg3K4wsXRn5ObqObu3cQ46qoL0UaVlZ D39YSRJLFI1qgVySbJO3YCMOn+zxMCM= Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 508DbbrG024745; Wed, 8 Jan 2025 15:59:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=pp1; bh=XzrBDsfbN16b57Szr+NoTSMSWpMH+u OkeqBmyngOcg4=; b=YZTc6nI5iyhjqWkcNpXaEmpPwapzcwK35XjlkTWHeVXteh g+TXuIQ8o5IOecfQsno/rbHSGS7B69KtGg+M7iBJX1JOHOOduDCOUAGyuXAlnMD+ 8amKWViZzrwIvy03Td6vJgppXlN2yLDtXniHA55zAivcgj/QMY33zOl1Ico8umY6 ocjbXmekzY97eN0PPxUkkL73nfsqZx6hv1t8vXZZHNBCg6cdTM95N0eMQTPfNJP8 LPI5+Rj3IbDne5+ata9znvf7BSNN0k4ZYBAgDI0wz+NQlEkTW51OXb9KfI6ErFy8 k1GPYQPQfoLIPMhVPwAhVlr1VtmQLlulDagrELVQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 441edj3vtu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 08 Jan 2025 15:59:09 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 508Fldkt022838; Wed, 8 Jan 2025 15:59:08 GMT Received: from ppma12.dal12v.mail.ibm.com (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 441edj3vsd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 08 Jan 2025 15:59:08 +0000 (GMT) Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1]) by ppma12.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 508CRJIE003614; Wed, 8 Jan 2025 15:58:43 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 43yfat8mxj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 08 Jan 2025 15:58:43 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 508FwfdT51118510 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 8 Jan 2025 15:58:41 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C2AAC20049; Wed, 8 Jan 2025 15:58:41 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 3B6B320040; Wed, 8 Jan 2025 15:58:41 +0000 (GMT) Received: from li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com (unknown [9.155.204.135]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTPS; Wed, 8 Jan 2025 15:58:41 +0000 (GMT) Date: Wed, 8 Jan 2025 16:58:40 +0100 From: Alexander Gordeev To: Qi Zheng Cc: peterz@infradead.org, 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, will@kernel.org, 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 13/17] s390: pgtable: consolidate PxD and PTE TLB free paths Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-TM-AS-GCONF: 00 X-Proofpoint-GUID: i_F65JriRryrfiA96jFrqrnvASp9vCOR X-Proofpoint-ORIG-GUID: KrEysfrNgz7tD54gKNitjTUFxG7_tMkS X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1051,Hydra:6.0.680,FMLib:17.12.62.30 definitions=2024-10-15_01,2024-10-11_01,2024-09-30_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 mlxscore=0 lowpriorityscore=0 bulkscore=0 mlxlogscore=594 phishscore=0 malwarescore=0 impostorscore=0 priorityscore=1501 clxscore=1011 adultscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2411120000 definitions=main-2501080133 X-Rspamd-Queue-Id: 8989640016 X-Rspamd-Server: rspam12 X-Stat-Signature: u7kf7a3deh71r6fpcu7hnng4d3tiqhmd X-Rspam-User: X-HE-Tag: 1736351980-728095 X-HE-Meta: U2FsdGVkX18Y8tOj9q4gyP7ljipYP6xj+apuLEBomYl9tHKKmBFoI03CBKFs/FJmzviyE6LwfgD+wyTzlqCV7S+8mEjSiIGGLkT1kl6fLPhpox4PlRpPfB4Enuo23nlJrXAePMZ8TYjc/VIctWc8M2H5BZQ61KvCOuFPPaN9rf87GwJV7J0jwBR/xvfMlWbcKGGDhqMEIBmQaQ/Z+2hA85NUnBRmqQOp1LaDAhA/hu3mVA3euFGwfz3Ac7eUktpK5A7dLAJQ9ncqUeO6LflSlWHzsUzQamFPeQdUNtHeYWxPSaAVLckjREfTRygtL7jQ1ztAVxLbKsEJ17Vi4Nmezlo3fFFCk5BTD9Ifr+bBeKWGCZVWg7x+d7HfpqlYg2AUPwPrGqawQkihN5FvMPdTLmPtWPoVUUBsTJGe65iBgVPTuYOOFqGYNRySNlh9P6fgUMd+H8pBfipNq5xqsKU4djL8oGeRjVoSdPNXy24NQg/RX+wapudi/xOZF1hXLj0K69yFVsIFLL31Ffa7fKG9Z05/Sfm6TlW4K8l1zkPG27OaHPZn1a9dc1sVrOK6wLtH7t/ONZ/XgjMYzWWpiMXWdDXcvbGOoRZtLUOwvNohEDt7wMBcvI7yLJeH6fjHZ9WBj7TVs7dZGifMaqaEA2ggc8ThbA6F5oHTAk1d+IyVzbw0Wb8JS1Al28FHePzebBd+HRA2lZH8OruYpVx+NhS9GMhIltLz1YLT/nkNuI+1lJYN5g91s6IbevK0o0pPm0/O/TFWeqhBLqb4fO5uLO9ekMs17/WTOKKs2m00oy5pP2LomFFnlq6xweGVKkiP9Ei/eQpg09lcWDuMK5JnPDGsqG3NhbBQdoj2zqbsu4oIBFNFwy7tYSRCpTnZcrkc5JobhQ3ruGDsUJlvXXFrmfNQ0WvEBzzx1AdHuOM/U/JtBapJ9BE+h4bzYZupaTXMI510qQmaUeXNYwCOfTZAj3y e4y5lrwC 0JjxPE92y6YilvhkSO99ncRlg2Rhdu00ur2C/9h9CHJwikmwvxpPk7JFVmtmNKM90B7rp2iq3xlUSIbjhWiT+WMERf/RsMTX/CpJwtt9ud5FgwFl9N+ddL3qAnnxLuvoBGmGV7Xp5p/JXrMJhgFgtL7hEkpI629kWSaIPi9VF0AwkLtpfeW3xuMCrLVQBoPc0yci9hCTqxFoW2bQnnTMYV+MOp0TpzluaXgKlJ1CMeh2MPhs0sM33Ax8j4TJn39s/L8paQJTWiC2Ig33/hUH9us7FFAlH/dP8+5D87PdVQ9Mrs0mo20aa9an6vSvEQBiAMhGmvgJR68sjMRaFwp6XuN85CBsP4CPiKpJphpsTEouMnBJci/9GMgZlJTwMBoYcHRxc59zVYU9qD20jTiihkBFtzCPo6qDXggAN7j0RvfedsaQcoCb26iwLU3f8klSSnE9/Ij1fSjS+z33zCukSiH4p/SHoINP/kPEupH5A5OfdhOFSD4YQG6jOALzR+HL3aylSIWE45XD8waILIND8oKffoZ9Q95zO7WVMYuXnN5f3fRny+1pQBasCAIrSHlpo4AYVO8ks4irOARo= 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 Wed, Jan 08, 2025 at 02:57:29PM +0800, Qi Zheng wrote: > Call pagetable_dtor() for PMD|PUD|P4D tables just before ptdesc is > freed - same as it is done for PTE tables. That allows consolidating > TLB free paths for all table types. > > Signed-off-by: Qi Zheng > Suggested-by: Peter Zijlstra (Intel) > Reviewed-by: Kevin Brodsky > Cc: linux-s390@vger.kernel.org > --- > arch/s390/include/asm/tlb.h | 3 --- > arch/s390/mm/pgalloc.c | 14 ++++---------- > 2 files changed, 4 insertions(+), 13 deletions(-) > > diff --git a/arch/s390/include/asm/tlb.h b/arch/s390/include/asm/tlb.h > index dde847a5be545..d5b27a2445c96 100644 > --- a/arch/s390/include/asm/tlb.h > +++ b/arch/s390/include/asm/tlb.h > @@ -102,7 +102,6 @@ static inline void pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, > { > if (mm_pmd_folded(tlb->mm)) > return; > - pagetable_dtor(virt_to_ptdesc(pmd)); > __tlb_adjust_range(tlb, address, PAGE_SIZE); > tlb->mm->context.flush_mm = 1; > tlb->freed_tables = 1; > @@ -122,7 +121,6 @@ static inline void p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d, > { > if (mm_p4d_folded(tlb->mm)) > return; > - pagetable_dtor(virt_to_ptdesc(p4d)); > __tlb_adjust_range(tlb, address, PAGE_SIZE); > tlb->mm->context.flush_mm = 1; > tlb->freed_tables = 1; > @@ -141,7 +139,6 @@ static inline void pud_free_tlb(struct mmu_gather *tlb, pud_t *pud, > { > if (mm_pud_folded(tlb->mm)) > return; > - pagetable_dtor(virt_to_ptdesc(pud)); > tlb->mm->context.flush_mm = 1; > tlb->freed_tables = 1; > tlb->cleared_p4ds = 1; > diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c > index 569de24d33761..c73b89811a264 100644 > --- a/arch/s390/mm/pgalloc.c > +++ b/arch/s390/mm/pgalloc.c > @@ -180,7 +180,7 @@ unsigned long *page_table_alloc(struct mm_struct *mm) > return table; > } > > -static void pagetable_pte_dtor_free(struct ptdesc *ptdesc) > +static void pagetable_dtor_free(struct ptdesc *ptdesc) > { > pagetable_dtor(ptdesc); > pagetable_free(ptdesc); > @@ -190,20 +190,14 @@ void page_table_free(struct mm_struct *mm, unsigned long *table) > { > struct ptdesc *ptdesc = virt_to_ptdesc(table); > > - pagetable_pte_dtor_free(ptdesc); > + pagetable_dtor_free(ptdesc); > } > > void __tlb_remove_table(void *table) > { > struct ptdesc *ptdesc = virt_to_ptdesc(table); > - struct page *page = ptdesc_page(ptdesc); > > - if (compound_order(page) == CRST_ALLOC_ORDER) { > - /* pmd, pud, or p4d */ > - pagetable_free(ptdesc); > - return; > - } > - pagetable_pte_dtor_free(ptdesc); > + pagetable_dtor_free(ptdesc); > } > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > @@ -211,7 +205,7 @@ static void pte_free_now(struct rcu_head *head) > { > struct ptdesc *ptdesc = container_of(head, struct ptdesc, pt_rcu_head); > > - pagetable_pte_dtor_free(ptdesc); > + pagetable_dtor_free(ptdesc); > } > > void pte_free_defer(struct mm_struct *mm, pgtable_t pgtable) Acked-by: Alexander Gordeev Thanks!