From patchwork Wed Feb 26 12:03:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Byungchul Park X-Patchwork-Id: 13992195 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 96B3FC021B8 for ; Wed, 26 Feb 2025 12:03:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 26CB228001C; Wed, 26 Feb 2025 07:03:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 21C1928001A; Wed, 26 Feb 2025 07:03:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0BC9028001C; Wed, 26 Feb 2025 07:03:50 -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 E146028001A for ; Wed, 26 Feb 2025 07:03:49 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 9CFAD1211FE for ; Wed, 26 Feb 2025 12:03:49 +0000 (UTC) X-FDA: 83161961778.28.16B0A85 Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92]) by imf11.hostedemail.com (Postfix) with ESMTP id 8E1AF40015 for ; Wed, 26 Feb 2025 12:03:47 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=none; spf=pass (imf11.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740571427; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references; bh=xL/Zi69ylwOqBL7lDpwc4dP93INfmxOM0Txvx+3UKD8=; b=3XA63w4XGgw/E/cNMypXnKX4mVxZKpI/vc/IUvr4Ay/n+qbJZ5Y1Rw7za0J+vVS3baoOvv Cydeq6ay78lovoBCZJMlIIvF8DlWMA1mqZlz4LPAnLn05+AtT2lpt9Yg3jy5RVs4PmINgj wFs/51BlnrEhykGvcvR0WC3IogtRRwU= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=none; spf=pass (imf11.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740571427; a=rsa-sha256; cv=none; b=lfLYR7qx6fVqjyX5SFxgtwxCxAFkOgYE3Uia5g27tfCKS6YF1m1MyqEe5btywa7tgIb7XX +y94ou+nApuGyfcfILNhk+1nolwfZ4Axz+TLMfRSLWxL+gGyIg8A/KYZHiZoSf5RGmy6cw UTcU77j+RNgKyFWBiyKDxb42+I4fBI8= X-AuditID: a67dfc5b-3e1ff7000001d7ae-fb-67bf0322d251 From: Byungchul Park To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: kernel_team@skhynix.com, akpm@linux-foundation.org, vernhao@tencent.com, mgorman@techsingularity.net, hughd@google.com, willy@infradead.org, david@redhat.com, peterz@infradead.org, luto@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, rjgolo@gmail.com Subject: [RFC PATCH v12 based on v6.14-rc4 02/25] arm64/tlbflush: add APIs manipulating tlb batch's arch data Date: Wed, 26 Feb 2025 21:03:13 +0900 Message-Id: <20250226120336.29565-2-byungchul@sk.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20250226120336.29565-1-byungchul@sk.com> References: <20250226113024.GA1935@system.software.com> <20250226120336.29565-1-byungchul@sk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrCLMWRmVeSWpSXmKPExsXC9ZZnka4S8/50g5sN4hZz1q9hs/i84R+b xdf1v5gtnn7qY7G4vGsOm8W9Nf9ZLc7vWstqsWPpPiaLSwcWMFkc7z3AZDH/3mc2i82bpjJb HJ8yldHi9485bA58Ht9b+1g8ds66y+6xYFOpx+YVWh6bVnWyeWz6NInd4925c+weJ2b8ZvF4 v+8qm8fWX3YejVOvsXl83iQXwBPFZZOSmpNZllqkb5fAlbH60iqWgr98Fbca57M3MC7l6WLk 5JAQMJFYf+EAE4w9vX0NC4jNJqAucePGT2YQW0TATOJg6x/2LkYuDmaBZUwSe080sIEkhAVy JbY/nwHWzCKgKjGxayUjiM0rYCpxY/o2doih8hKrNxwAG8QJNOjTtGNgvUICyRI7f/9hAhkq IXCbTaLr+xpWiAZJiYMrbrBMYORdwMiwilEoM68sNzEzx0QvozIvs0IvOT93EyMwrJfV/one wfjpQvAhRgEORiUe3gdn9qYLsSaWFVfmHmKU4GBWEuHlzNyTLsSbklhZlVqUH19UmpNafIhR moNFSZzX6Ft5ipBAemJJanZqakFqEUyWiYNTqoFx1aVvAifSF09e++Pclb8G5ju71nFnFm9R X/4rsuAWv9BPtmMcZtXeTqEfJ1y6VfBv+dGphoLJl/ts9/7T4fRyL1jIZ7ot/Rr3ndxpq/yU l65dvjhum8sHwa+Gv+8fZMw74jbpVk7y73lL9Ri+PrKMSmCN79x1adXDxin6QScmLVx4rTrR 7MiOlUosxRmJhlrMRcWJAHybQUhnAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrNLMWRmVeSWpSXmKPExsXC5WfdrKvEvD/dYM9UPos569ewWXze8I/N 4uv6X8wWTz/1sVgcnnuS1eLyrjlsFvfW/Ge1OL9rLavFjqX7mCwuHVjAZHG89wCTxfx7n9ks Nm+aymxxfMpURovfP+awOfB7fG/tY/HYOesuu8eCTaUem1doeWxa1cnmsenTJHaPd+fOsXuc mPGbxeP9vqtsHotffGDy2PrLzqNx6jU2j8+b5AJ4o7hsUlJzMstSi/TtErgyVl9axVLwl6/i VuN89gbGpTxdjJwcEgImEtPb17CA2GwC6hI3bvxkBrFFBMwkDrb+Ye9i5OJgFljGJLH3RAMb SEJYIFdi+/MZTCA2i4CqxMSulYwgNq+AqcSN6dvYIYbKS6zecABsECfQoE/TjoH1CgkkS+z8 /YdpAiPXAkaGVYwimXlluYmZOaZ6xdkZlXmZFXrJ+bmbGIFBuqz2z8QdjF8uux9iFOBgVOLh fXBmb7oQa2JZcWXuIUYJDmYlEV7OzD3pQrwpiZVVqUX58UWlOanFhxilOViUxHm9wlMThATS E0tSs1NTC1KLYLJMHJxSDYxs0sKtwUvMTcSufg66ohDewsbGMfERa0hDUrAvV9typthHLlE5 H59pxMa8Nap0mrJgVdn1v/0JU/6kWR7VZ2SK1N5wrqEw4Pb7HqfHZefNW0J5tryeauR9+14F z7XzvRPZ4lt2K3OJPJS5tt9p/5TJF5mYHs1k2m3kpLtAXD/SU77eknu+kxJLcUaioRZzUXEi AOGD5elOAgAA X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 8E1AF40015 X-Stat-Signature: e9ftfidj1zhkmk1co8afnzrsbq8pzfkm X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1740571427-27689 X-HE-Meta: U2FsdGVkX1+t1byzC+QropybUt1Xiqw8tFhFoBHFy7h7iQ1XKx/10MdG4qFWOe8tZoFk0AjXSg+YEwrLMwlE3n8ahj8t2+NEcUtPJeeFljvoXypI7jBwhVTuqbap2MLSJWnVEgHEr9hg+M/IdFVeUfmh8/lHWkmljycA5lt1SDSwJuYKADgAyemSxEvA0DYL09q3N+MvaQYEBOti9rI2H38xA6O9mpDZjL50H+op1TeuOMPZY341V6fFBgpETzeQ62ROqy5jAenk/UOU/k+kF+H42pB9srIttGGdCt32PkXat0JHGNxZoqymzr0etrykwbmY8MHoL6tk65F/8nTFS13b+QMdPwLI9qS9SFuw5HeLHhc9TRy6Eomxx6IIPQ3UTxHoMZ28nk4g+qtPdalb0LuCpp0co/M0x2oU41vq/Alpu10vuG99c4NXKH0O+PnrduK9rwHO/QrpyF5lSRKjEWyIDk2dKTgTg35Edvhwf4tzfgIq2oHURmxIXsziZ8fzuiQcuYCwWOAf57zKMD64oJDYO4xzeYT6O6yrDY4mz9TE6QHmmbwFhvSOCLaijKoQio4C7YZjSqZPu1AWqcQKoFNjkMdxuOQE+NyNJVwMEMgcsMoLqgsnmhuRPWmD8SUhxrlSAw3XiSSYxu+QoqzNEpx/sLt8UI5xbyNBa/mATYex5PX9msJ08OQS0OQv8TTiGi25XF5Kr7QX9mxxJwBy5Qy8iyGFy4ydjpkgjlbCdHGwJN4b/X+JEuS40nhOdEeGcMlm4sa9o31ckCujfqJZK3/5ooW968y/mIq5anpa8Ij2JvNiW4ah/yOsU79M3AdKzPZ4qtHp7t75/k8SOORevlcuAaPSHfOj+sU000wYSdfU9nluhJYng5mO+PaxlYRzv87HNx7mF09VBxNmMU0q+RkqGyeEM0qRUPgXBDN2GlqTj9BgtJ7/gwaCnNa11JvIM5OsIkaV1PMc94i80m7 8rg== 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: A new mechanism, LUF(Lazy Unmap Flush), defers tlb flush until folios that have been unmapped and freed, eventually get allocated again. It's safe for folios that had been mapped read only and were unmapped, since the contents of the folios don't change while staying in pcp or buddy so we can still read the data through the stale tlb entries. This is a preparation for the mechanism that requires to manipulate tlb batch's arch data. Even though arm64 does nothing for tlb things, arch with CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH should provide the APIs. Signed-off-by: Byungchul Park --- arch/arm64/include/asm/tlbflush.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/arch/arm64/include/asm/tlbflush.h b/arch/arm64/include/asm/tlbflush.h index bc94e036a26b9..acac53a21e5d1 100644 --- a/arch/arm64/include/asm/tlbflush.h +++ b/arch/arm64/include/asm/tlbflush.h @@ -354,6 +354,33 @@ static inline void arch_tlbbatch_flush(struct arch_tlbflush_unmap_batch *batch) dsb(ish); } +static inline void arch_tlbbatch_clear(struct arch_tlbflush_unmap_batch *batch) +{ + /* nothing to do */ +} + +static inline void arch_tlbbatch_fold(struct arch_tlbflush_unmap_batch *bdst, + struct arch_tlbflush_unmap_batch *bsrc) +{ + /* nothing to do */ +} + +static inline bool arch_tlbbatch_need_fold(struct arch_tlbflush_unmap_batch *batch, + struct mm_struct *mm) +{ + /* + * Nothing is needed in this architecture. + */ + return false; +} + +static inline bool arch_tlbbatch_done(struct arch_tlbflush_unmap_batch *bdst, + struct arch_tlbflush_unmap_batch *bsrc) +{ + /* Kernel can consider tlb batch always has been done. */ + return true; +} + /* * This is meant to avoid soft lock-ups on large TLB flushing ranges and not * necessarily a performance improvement.