From patchwork Thu Jun 15 23:02:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hugh Dickins X-Patchwork-Id: 13281808 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 91979EB64D9 for ; Thu, 15 Jun 2023 23:02:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E63B86B0074; Thu, 15 Jun 2023 19:02:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E13616B0075; Thu, 15 Jun 2023 19:02:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CB4908E0001; Thu, 15 Jun 2023 19:02:57 -0400 (EDT) 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 BBF486B0074 for ; Thu, 15 Jun 2023 19:02:57 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 8444D1A0B72 for ; Thu, 15 Jun 2023 23:02:57 +0000 (UTC) X-FDA: 80906509194.18.08C096E Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com [209.85.128.181]) by imf06.hostedemail.com (Postfix) with ESMTP id 80511180019 for ; Thu, 15 Jun 2023 23:02:55 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=MJTZvP19; spf=pass (imf06.hostedemail.com: domain of hughd@google.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686870175; 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=rocsqxxn2Z+cT1JHYvXfzCdKlHTpr3EP6mTFGVcBZg0=; b=JC/g/RkcXRb0wKqLttVgYrClkucCSsXCJHIUBksC82AP5xJOIlYmLAyH6OMdmUzRd9FNen KGhjDf1prQYnCskNYmmgt95dmDNacJLkw+FlQB1nnVEQ4a/zl0izvOm18CKirhurO8h3Ek JmpV7E7FesOji9cZt5quOXndLVx0iDE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686870175; a=rsa-sha256; cv=none; b=i5ldF7DGQr/TG8wt9lvBORTnDKoNSREEGKK7UZBH4E3kQNsCfpiRNqMsPqGPjALNbmreZq tSehtH6yRgL+7N7RvGtY1AZSiyJCcNLG3f9uuQmKc6lp+JljGL0qk+zDYal6sQgc7KdIa0 s6wOFU6BOryFfW4TOFf/oACjWbolg7Y= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=MJTZvP19; spf=pass (imf06.hostedemail.com: domain of hughd@google.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-56cf00a04e5so2173057b3.0 for ; Thu, 15 Jun 2023 16:02:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1686870174; x=1689462174; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=rocsqxxn2Z+cT1JHYvXfzCdKlHTpr3EP6mTFGVcBZg0=; b=MJTZvP19w7L3mwEdMeExhSCW1AUDkDcDZIGA09b4Lsgr6AlQ/Jre5s3pQVCVJJ7rQb 5+EQMNtJaTaY+aRJKrCSqlImib7KZddKIew66TbvLd683FL9AyfE66fgz1T7BtZHDMm8 2jNBCticE3VbvZxgnHDLhllKeMXxMDja6NYMekmWJVMnL0qXYLEhZcbBya6ztZKzets8 eOxxHJ/YfIwfRnvaqFcbsGZUKRVZaOyJdqvanJIQ7D74NV/Gvoq+dfmVK1oXzh1JvH5P 0RtdON+E/jvZHQ2QI/6IDa9W4KDnatFP6KwfH05hk8Ymf0ujYFguYsacUpxAce6WF76M r8mQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686870174; x=1689462174; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rocsqxxn2Z+cT1JHYvXfzCdKlHTpr3EP6mTFGVcBZg0=; b=KcOL/zOnjO5lglCyUjMOfPgE1mecP3J8xgXq7VDUixvJ2CcU+DI5/ewQAvfo4KQsuY icpT3SFD6NRhF2Oyi5iLCiUpaManPF/mea+sDzcwWCLnDlKDNEMVG8m/uCtH0qiWnYMB bJTGPn+w3JDLQW3W859Dajq7kj8NKAW0bRdncXEzS5qf/si1OpRgnToDmO827GhF1GZy QWms8AbVAScAT9YyHzK0DhOeaEpZUnqiH7KmzpyJmFiEV6mOfmtk45MRsboF7bJkN30c ruAw3qk9T7LYIzP/RaM0KA47YNJZmF3wmE+LyhzSfOMGWpbk7C5Ym/BzxBioC+ubE0DB ZgxQ== X-Gm-Message-State: AC+VfDzrx50KzTpNrcXy351ZyBL9E/47cFm7ArMsVEGHt+k9srlmIlsj wrww45rIfSxJT6jcL54jtd44vQ== X-Google-Smtp-Source: ACHHUZ4yNZeWVfFpqfOHWwVeKQ0LO1X5XLl6oMWM14BiamATBX7pt4vwNxCwa9vlqY3LDt6NBppgPg== X-Received: by 2002:a81:7bd5:0:b0:56d:2dd6:c5b3 with SMTP id w204-20020a817bd5000000b0056d2dd6c5b3mr138534ywc.31.1686870174477; Thu, 15 Jun 2023 16:02:54 -0700 (PDT) Received: from ripple.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id w6-20020a0ded06000000b0056d2a19ad91sm2857020ywe.103.2023.06.15.16.02.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jun 2023 16:02:54 -0700 (PDT) Date: Thu, 15 Jun 2023 16:02:43 -0700 (PDT) From: Hugh Dickins X-X-Sender: hugh@ripple.attlocal.net To: Andrew Morton cc: Nathan Chancellor , Hugh Dickins , Mike Kravetz , Mike Rapoport , "Kirill A. Shutemov" , Matthew Wilcox , David Hildenbrand , Suren Baghdasaryan , Qi Zheng , Peter Zijlstra , Russell King , Catalin Marinas , Will Deacon , Geert Uytterhoeven , Greg Ungerer , Michal Simek , Thomas Bogendoerfer , Helge Deller , John David Anglin , "Aneesh Kumar K.V" , Michael Ellerman , Alexandre Ghiti , Palmer Dabbelt , Heiko Carstens , Christian Borntraeger , Claudio Imbrenda , Alexander Gordeev , John Paul Adrian Glaubitz , "David S. Miller" , Chris Zankel , Max Filippov , Yu Zhao , x86@kernel.org, linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH v2 07/23 replacement] mips: add pte_unmap() to balance pte_offset_map() In-Reply-To: <76b41825-30fa-b9e8-d043-2affcba24317@google.com> Message-ID: References: <178970b0-1539-8aac-76fd-972c6c46ec17@google.com> <20230614231758.GA1503611@dev-arch.thelio-3990X> <344a4da-3890-45fd-607e-b5f85ca6ad48@google.com> <20230615155059.GB3665766@dev-arch.thelio-3990X> <76b41825-30fa-b9e8-d043-2affcba24317@google.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 80511180019 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: g9b3agdd4pbo57axrf7onjqziuc3r3b4 X-HE-Tag: 1686870175-707373 X-HE-Meta: U2FsdGVkX1+BpEugql0CzsFfwN3PyvQQBHmQM7HxVEVY79x+AFP3pOL8V6zl8BGFej/i98k8KzmV+zQq05i9XspDl6wQvpSi5s8ChyrMjtCf49rc5HBY2BHIV3vFMDpdxLXy0zNC9zyJVU2Vm88Dpmlf29kl/WNyePk/205AMJEoxfB5rEywpoiF/PhrBX9vV/b8p48YStbe+dtb0kHXTF7BuwoUGQlxD3tr8vLpgurxo56qMmKlGNa+dfFSLzOZtm3TREj7b/hKI3vu0mF9GZV9u0jrC65tHNQPr9efiz/T3x1sK2fwFhNVmnOxLkNDnHI54zYURZc81TQ92AL67Jpz+zygijl0ILR4QdF+noWYmkyd46lOJmT37YS1XUEUx8tXeu8WiWlIIBT9RUaLw37pKXDjM5fIg6pVZmMiDT+QBf/h42CTGLYNRJbp9dGrjlD/NMZMr2HNUu8B5j+z/OM/YawtWsTwA9IQWw6pHR+O8c/hYQUESPjneCI/G50uO5JMrexm1pdGKQYNakkCRnFKDcT/HvzJdhUHdWc24BTsP7PFNb7Oc8pfviOo/7PPQOvngQvY/27sv0zDYK2NMk1KQvh7PHeTGla8TNiLhU4bVX2660xzIpjiXNE3t8W1kj1+XFp6cxUFDjK+PaviKRW/XTCW9rAn+xbn4C7pLKUTHoCSYPlkIfnCyKQvPup3RbupmMZSJn9+tD7LZDxD/7SYw+DgYWdn7Z9L4NTV56IL/vlAPvcUcAZ0xXNI6h5KO/8YNVX2XihLIX08vczx6/q8QY3ArOwFLlNxbb0QtteD0LoRGVxYgpKw+0W+PpEvauWCeGW9spRuCgwUGYQnDX1NOTurTfZiMDfySzQTavbprEJKbWp4jhL1YroMocXLrGxunMFbUR2HfgeJ96ax2AQXFYjZhpUIAsV+l+I7VyRCDCxVPygXvVg62aQOlZN0Jgyi+AYpw7EBNXG5vze Thb/5vkD x4GmFylojCIV4ExgR/ccRYroDSogp02pAViJ9nd+UiwNKiGwKiM4UZxAtpcTYtj0sjnP1gUoD3DgimSNMc30Dp04Xa9+bJwIxrPQYbRPljXk3vDJbzximvDcWErChoE6iLwIib8sNbeyee1oy3brtfVhDO/pRsf1HoEoPfYsi7EqnpOhoSuQlbqBKE8U38B4LGXZMOPuy4542qtE8JQUj0H1/r5lhUa0QrEI08RNJFT33TrKhzfynWHGm7Mfjjf5JA6eat8Dus3XjUC9d/8y4EWu9HNSXZz/Awde1mNDnGdH863UtYfU5ErFZTPWShWAqVpUr4zhQNsoYXI4QnYn6TL9XXBzfPaM2C2xvZOEUBuZcP/lrTWsZrnfUg5rfOvCbV3Oe5Dpn1szcRfbJVTQtTAbz1Lgg7Z7482ZBZ6x5GFXhxtEqGHgicbQlpvl8uSlZD6vtyaEJLFDJD9e6zXqdqDQhqVAWUz+LIuRl+sRWH+GnmvE= 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: To keep balance in future, __update_tlb() remember to pte_unmap() after pte_offset_map(). This is an odd case, since the caller has already done pte_offset_map_lock(), then mips forgets the address and recalculates it; but my two naive attempts to clean that up did more harm than good. Tested-by: Nathan Chancellor Signed-off-by: Hugh Dickins --- Andrew, please replace my mips patch, and its build warning fix patch, in mm-unstable by this less ambitious but working replacement - thanks. arch/mips/mm/tlb-r4k.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c index 1b939abbe4ca..93c2d695588a 100644 --- a/arch/mips/mm/tlb-r4k.c +++ b/arch/mips/mm/tlb-r4k.c @@ -297,7 +297,7 @@ void __update_tlb(struct vm_area_struct * vma, unsigned long address, pte_t pte) p4d_t *p4dp; pud_t *pudp; pmd_t *pmdp; - pte_t *ptep; + pte_t *ptep, *ptemap = NULL; int idx, pid; /* @@ -344,7 +344,12 @@ void __update_tlb(struct vm_area_struct * vma, unsigned long address, pte_t pte) } else #endif { - ptep = pte_offset_map(pmdp, address); + ptemap = ptep = pte_offset_map(pmdp, address); + /* + * update_mmu_cache() is called between pte_offset_map_lock() + * and pte_unmap_unlock(), so we can assume that ptep is not + * NULL here: and what should be done below if it were NULL? + */ #if defined(CONFIG_PHYS_ADDR_T_64BIT) && defined(CONFIG_CPU_MIPS32) #ifdef CONFIG_XPA @@ -373,6 +378,9 @@ void __update_tlb(struct vm_area_struct * vma, unsigned long address, pte_t pte) tlbw_use_hazard(); htw_start(); flush_micro_tlb_vm(vma); + + if (ptemap) + pte_unmap(ptemap); local_irq_restore(flags); }