Message ID | 20250226120132.28469-2-byungchul@sk.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 1BF10C18E7C for <linux-mm@archiver.kernel.org>; Wed, 26 Feb 2025 12:02:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D414F28001D; Wed, 26 Feb 2025 07:01:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C7ECA280020; Wed, 26 Feb 2025 07:01:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 773E328001D; Wed, 26 Feb 2025 07:01:50 -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 4DD64280022 for <linux-mm@kvack.org>; Wed, 26 Feb 2025 07:01:50 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id B5EE3C1423 for <linux-mm@kvack.org>; Wed, 26 Feb 2025 12:01:46 +0000 (UTC) X-FDA: 83161956612.30.B2FB742 Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92]) by imf30.hostedemail.com (Postfix) with ESMTP id 62D198000D for <linux-mm@kvack.org>; Wed, 26 Feb 2025 12:01:43 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf30.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740571305; a=rsa-sha256; cv=none; b=J8hSO6wdgJIQTdxsGeQjhf1cEhLqDYvWYQBnj2VWq08W6u1TfR+bF3tD8HvaVL5JkMwTI8 R3wc/3JR/Ekvbq/VrXsQ8bhj3XgVQ8YavLuMBSYPCcLkfDbX24bhE5bUCmxqSUD3JMQlvk nbUO3Vb7JZz560tpV5yORXJEl5cm1Dc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740571305; 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=o+JdRKqtyRFdqe6SPb80piI1yJ/qGijUiwV5uYNBWrA=; b=Eo5jnQkg9/vFXjXlJF3HGZcE7JuMYTwpI88EOA0ssrNkFy8lnJLtHGlLVNGJdOFPP43BPu HFw/lUxVDkmj7pkHSGp0cMpfBceSZ3T3GIW8udPuU/PJahMAKtPBugQ0/UiuhsaWCI/4Un zb+TL+62nlR9bsXKcyd7CdCr+rMkCP0= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf30.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com X-AuditID: a67dfc5b-3e1ff7000001d7ae-cc-67bf02a6ea00 From: Byungchul Park <byungchul@sk.com> 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 mm-unstable as of Feb 21, 2025 02/25] arm64/tlbflush: add APIs manipulating tlb batch's arch data Date: Wed, 26 Feb 2025 21:01:09 +0900 Message-Id: <20250226120132.28469-2-byungchul@sk.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20250226120132.28469-1-byungchul@sk.com> References: <20250226113342.GB1935@system.software.com> <20250226120132.28469-1-byungchul@sk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrCLMWRmVeSWpSXmKPExsXC9ZZnke4ypv3pBgvfCVnMWb+GzeLzhn9s Fl/X/2K2ePqpj8Xi8q45bBb31vxntTi/ay2rxY6l+5gsLh1YwGRxvPcAk8X8e5/ZLDZvmsps cXzKVEaL3z/msDnweXxv7WPx2DnrLrvHgk2lHptXaHlsWtXJ5rHp0yR2j3fnzrF7nJjxm8Xj /b6rbB5bf9l5NE69xubxeZNcAE8Ul01Kak5mWWqRvl0CV8aPSb8YC/7yVWxY3MXUwLiUp4uR k0NCwETifNshdhj79a1jzCA2m4C6xI0bP8FsEQEziYOtf4BquDiYBZYxSew90cAGkhAWaGaU uPLZCsRmEVCVuHXuF9ggXgFTiTv329gghspLrN5wAGwQJ9Cgf7t/g9UICSRLtKz/zQIyVELg NpvEv4f7WCEaJCUOrrjBMoGRdwEjwypGocy8stzEzBwTvYzKvMwKveT83E2MwLBeVvsnegfj pwvBhxgFOBiVeHgfnNmbLsSaWFZcmXuIUYKDWUmElzNzT7oQb0piZVVqUX58UWlOavEhRmkO FiVxXqNv5SlCAumJJanZqakFqUUwWSYOTqkGxsiw9In1CRmXHii4LTS4bdgWxKAvM7lQZ8bq hU0a06YzJ3lq8OQcO8EzofuzBLt2pmmmeR7/6n93tTvvzZxYus594tOzr/xmRN7Zv1fRqcSv W6StVO7kCo5Pwhm26t+3nL5x2GxHT4SxE6Nv5JImrf2L8tWSvHS2fZl9kDvPbv6CULNk03lf lFiKMxINtZiLihMBMTo6gGcCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrNLMWRmVeSWpSXmKPExsXC5WfdrLuMaX+6warPnBZz1q9hs/i84R+b xdf1v5gtnn7qY7E4PPckq8XlXXPYLO6t+c9qcX7XWlaLHUv3MVlcOrCAyeJ47wEmi/n3PrNZ bN40ldni+JSpjBa/f8xhc+D3+N7ax+Kxc9Zddo8Fm0o9Nq/Q8ti0qpPNY9OnSewe786dY/c4 MeM3i8f7fVfZPBa/+MDksfWXnUfj1GtsHp83yQXwRnHZpKTmZJalFunbJXBl/Jj0i7HgL1/F hsVdTA2MS3m6GDk5JARMJF7fOsYMYrMJqEvcuPETzBYRMJM42PqHvYuRi4NZYBmTxN4TDWwg CWGBZkaJK5+tQGwWAVWJW+d+sYPYvAKmEnfut7FBDJWXWL3hANggTqBB/3b/BqsREkiWaFn/ m2UCI9cCRoZVjCKZeWW5iZk5pnrF2RmVeZkVesn5uZsYgUG6rPbPxB2MXy67H2IU4GBU4uF9 cGZvuhBrYllxZe4hRgkOZiURXs7MPelCvCmJlVWpRfnxRaU5qcWHGKU5WJTEeb3CUxOEBNIT S1KzU1MLUotgskwcnFINjDVCLtmqp+ROKeRJsMWKVy1a9SWap37f9itpnDYPDj0+xsr3drXz U5cTmz6Xtpx6fPZIaHn2rNxvd9Y2M+rJWWd/05n6gTdu477VjZK9hjxdKVse882aIHruwOIZ 6oxFKSWhgrFpZr+Wrn7+4rOjyTlj8f0qTxuVVrK0vWldw2SpbvBz68fz9UosxRmJhlrMRcWJ AAkBmzpOAgAA X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 62D198000D X-Rspamd-Server: rspam08 X-Rspam-User: X-Stat-Signature: fxxzmjgsccggj1xapcm44q8key3p4cgk X-HE-Tag: 1740571303-617268 X-HE-Meta: U2FsdGVkX18KEaZc5PPWXijM3FEo+KIm1J041LagTlv9AhK79YFFYrkgQz3Gyaaxy0HnJf2sUOOajLxg/JGbcrzB2PY5t9u33w+YQgIrU9GiR/gAMHL2TlSQXTzS6uNJaJifNNxCrnT7eztt0zAEbW3YmWAY/7w9OQKAw00cdQqB63Tf+YJQVrlPT5ViIt5f1DzoyfOWj6rWIBHTOcnhAFKfmZLRR7DUEI0aGxGV/i+ty0NuWmosH1ePyM5ay9d5lI88W9RWqsYOvRQxx9Ap2cqlU7v/HFWb1ShyNEd1fRhb65X8wmfIhApYuB564WmvCNN2dTrNKaFqA6vmmqXZVL8jfJiAkstok+g7ZQXfD/n7izi5+7G6BdBKzaSHUrnAnBKKnd97A+jbWY7lC7QoLxLJF5dy70W2BnPtaR8g1jPZvk/LM2i3sewKAWPnyOEn3mUim8VsY2YUvk6ZKLJelLyqC7nfXjm4cCItppTOYKcHEgZwvfqTEWtf+KTAI6zUEcXuXn4Jz0YUbl45jTxs1VRn/V9ZDbXLK8bT1YpKAnvYSjEaq7AdtUyhjD8DyThy9791zplCa9maBvymvzUbaAvTMG7DpHq9YVfQraZFRQluEDquyD4zdZjie2OoZEdDkJuJ1xml6qi7Ta36mgufyO+tv3ZPgsKAWVJUWzgV5b+pL05WzarYwVDI3Bsd6A5kZxTliJRj3HO9/u2GqbPBLZtH2MjlLAhwm6UugmvnbCAtXfGDAp/C5yJLo2ozVxoXa6NPWLuHsQLSBrPwkDPF5CFxhI+NUSte3M+CRejZyzEo6z3BR3fDDtLyv/oCnlHPUTuSo5TIrWR5/K5wbytvYgJ/ji8HotDFT1ychbsfzDHw+yvwurJLodj2UHATZFDNreSyMPwpB6lQ05u8d5kVTMLqFrZd0WwbUnmt8j3q+wg0DpaIItsmgedMztcU2xbS1Rtub8Wp3y0Fxo8PEdR PCg== 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: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
[RFC,v12,based,on,mm-unstable,as,of,Feb,21,2025,01/25] x86/tlb: add APIs manipulating tlb batch's arch data
|
expand
|
diff --git a/arch/arm64/include/asm/tlbflush.h b/arch/arm64/include/asm/tlbflush.h index b7e1920570bdd..f7036cd33e35c 100644 --- a/arch/arm64/include/asm/tlbflush.h +++ b/arch/arm64/include/asm/tlbflush.h @@ -347,6 +347,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.
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 <byungchul@sk.com> --- arch/arm64/include/asm/tlbflush.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)