Message ID | 20250220052027.58847-3-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 7D02FC021AD for <linux-mm@archiver.kernel.org>; Thu, 20 Feb 2025 05:20:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0E3D8280293; Thu, 20 Feb 2025 00:20:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DB023280295; Thu, 20 Feb 2025 00:20:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A5BF1280294; Thu, 20 Feb 2025 00:20:43 -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 66710280295 for <linux-mm@kvack.org>; Thu, 20 Feb 2025 00:20:43 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id DE40AC0B25 for <linux-mm@kvack.org>; Thu, 20 Feb 2025 05:20:42 +0000 (UTC) X-FDA: 83139173124.21.29BC420 Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92]) by imf05.hostedemail.com (Postfix) with ESMTP id 7994D100005 for <linux-mm@kvack.org>; Thu, 20 Feb 2025 05:20:40 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=none; spf=pass (imf05.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=1740028841; 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=OO7zSkNWfZgyqD10C2zqG4pTNNgvuV2xeEsorRtLJoU=; b=z6xZF1tTm5xo9r+DNRQrwiZZGBYIV+TB2d/n2Y32lu0KCYxqHU5yeJKD+2KRMprT8lj5Bz gsHK+Q++ViDb4OcfnmufhhDGPvOAj0irgUFoxSdEn5HUX1FbYxYpU4xYVWrKV7p2oIbOsH lGY+qK3rhOP2FMahl+PjLf4lYQTRQfE= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=none; spf=pass (imf05.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=1740028841; a=rsa-sha256; cv=none; b=jrWX58z+7IOPvjnqMjwKt2RkTKPxq6cOJauAyRwpcVv5o4xVYAGt1eOIChF5Z8T8/3tJdy uMh4Wy+8RR7+MxP/PDsisO6LwO28iU7S24joDNNnmwfaS5lUB+bl7zajKTkZdM3XwOYTTc WG8XdBDjjBjsbMNwCCYXi93Oc0naRPY= X-AuditID: a67dfc5b-3c9ff7000001d7ae-b5-67b6bba69892 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, ying.huang@intel.com, 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, dave.hansen@linux.intel.com, rjgolo@gmail.com Subject: [RFC PATCH v12 02/26] arm64/tlbflush: add APIs manipulating tlb batch's arch data Date: Thu, 20 Feb 2025 14:20:03 +0900 Message-Id: <20250220052027.58847-3-byungchul@sk.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20250220052027.58847-1-byungchul@sk.com> References: <20250220052027.58847-1-byungchul@sk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrKLMWRmVeSWpSXmKPExsXC9ZZnoe6y3dvSDU6vE7aYs34Nm8XnDf/Y LF5saGe0+Lr+F7PF0099LBaXd81hs7i35j+rxflda1ktdizdx2Rx6cACJovjvQeYLObf+8xm sXnTVGaL41OmMlr8/gFUfHLWZBYHAY/vrX0sHjtn3WX3WLCp1GPzCi2PxXteMnlsWtXJ5rHp 0yR2j3fnzrF7nJjxm8Vj3slAj/f7rrJ5bP1l59E49Rqbx+dNcgF8UVw2Kak5mWWpRfp2CVwZ G24vZC34y1dxu/U4cwPjUp4uRk4OCQETiR9bd7LD2Luv9YPZbALqEjdu/GQGsUUEzCQOtv4B izML3GWSONDPBmILC0RJNHf/ZwKxWQRUJTY2fmHtYuTg4BUwlWjpSYcYKS+xesMBsDGcQGN+ zOgFaxUCKnm34BJQKxdQzWc2iWUnNzNDNEhKHFxxg2UCI+8CRoZVjEKZeWW5iZk5JnoZlXmZ FXrJ+bmbGIGBv6z2T/QOxk8Xgg8xCnAwKvHwzmjdli7EmlhWXJl7iFGCg1lJhLetfku6EG9K YmVValF+fFFpTmrxIUZpDhYlcV6jb+UpQgLpiSWp2ampBalFMFkmDk6pBkYzxvKM++ElBjNj XpUaXuO5yS+xOplHdsuJkuVicwxbnsve3N3ApRMYvynlfurFkNxHn9b8njqD45O9iE79idNB 4pEtKQuWf9y9z9hour/aO5bo1jeHjGJMn7f7avWtiv7z6pDk6Yl9d924l/G+/cfqoHhmH/du NY/QiuuHorMXHmKpkm+pVFZiKc5INNRiLipOBABZvryXeAIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrDLMWRmVeSWpSXmKPExsXC5WfdrLts97Z0gyf9XBZz1q9hs/i84R+b xYsN7YwWX9f/YrZ4+qmPxeLw3JOsFpd3zWGzuLfmP6vF+V1rWS12LN3HZHHpwAImi+O9B5gs 5t/7zGaxedNUZovjU6YyWvz+AVR8ctZkFgdBj++tfSweO2fdZfdYsKnUY/MKLY/Fe14yeWxa 1cnmsenTJHaPd+fOsXucmPGbxWPeyUCP9/uusnksfvGByWPrLzuPxqnX2Dw+b5IL4I/isklJ zcksSy3St0vgythweyFrwV++itutx5kbGJfydDFyckgImEjsvtbPDmKzCahL3LjxkxnEFhEw kzjY+gcszixwl0niQD8biC0sECXR3P2fCcRmEVCV2Nj4hbWLkYODV8BUoqUnHWKkvMTqDQfA xnACjfkxoxesVQio5N2CS0wTGLkWMDKsYhTJzCvLTczMMdUrzs6ozMus0EvOz93ECAzjZbV/ Ju5g/HLZ/RCjAAejEg/vg8db04VYE8uKK3MPMUpwMCuJ8LbVb0kX4k1JrKxKLcqPLyrNSS0+ xCjNwaIkzusVnpogJJCeWJKanZpakFoEk2Xi4JRqYJQ3mfVKIE73q1qxlZOVgA3TM5+fvZyZ L0RMv0zmtj9wO3m+/cLPrzTF6j8wtG2euMkn8aThonNCKl8+Tv33UJLj2r7Te/5dN9hQUqCz IL/rddJfCY/+/nMPatevexe/xYzv9pLr3RG3r9eI2E1kzo/akz775payvNUVbFY+Fzh+sVxY 8LP9pIgSS3FGoqEWc1FxIgDPhFPrXwIAAA== X-CFilter-Loop: Reflected X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 7994D100005 X-Stat-Signature: 7e8eef9gjin8bnma5u7dtc1r5kk67nbw X-HE-Tag: 1740028840-418149 X-HE-Meta: U2FsdGVkX1+9fkC9TPC3P8aO+qNsZIAN7uyyCyURpE5aZJsoAZHDBEgG3g9fpkz5l0seTtSGUoCh6CwwYt2XLpdryZruQp+EryBDLRgodA0kQlCbkyR11Hrty1tVJZ2c11iEBQoPDDuVXr0GMLoyKU8Yk+Eml+CndtPEsxbLEHDwLBbqyMwnNkyL8OGNO/xEIQfL5Nd6/0CccU6ZLoqscjoLKWRayuMsIzUyHjmJTJLUIkFjGIO9/2zI6QhQcyJde0bb/U55wC4n1cki6kM2qwimXvIiuP4OU1NgJf+omug65IRzqHI3LCxp4s9bPHpHViHESe77tS/1cD15LHZrsYg3rJ6pb7dTDh0TRQFvtfNeOlWfXGBcdUbybwpBulFmhgAjJFVMk5WbV6yaLscye2SShShem4VGBBN1yKqxWPvNAY9WxNQkgnTsHSf9qvKo2BgJbuKi8destBVOumqHR4reXeNsjEHoYxWZl9qsqZqJsh3fAlZdWeDis8FKWxWD3NE+teE8x7XB3RLcVkXfXyNX6pF+kj0BBit1hySG/tNJt7zxZbY52b0NgHEdg2G/m86c2W2gKY/V89hJb7U6oyHLCfYOoEakYkCgdNGbNKlUlcjuu/WeDL9uRjIo38uTarPANXoCuKe/Npr9f7Vzm+1ryhZgZSD54f6ipQ1c691376cLFe0t9mGlmeKp8l4b5nkqzP7WJm2+pXhIypuw0RDo6jR2DGOEr5phzty5rC9VnNr1kmWOh7M91eBk5zXXVPyStM29bruQip9OI84gyvHQT3Y6vVvMK/9G99ANXE6KYhdXOZj1iOGLwYv5BQpzoViEAsD91e+mTaBVm68swAsKewKG9IJ/v6gUKh1xpRchTAGFhpeRcsNGhh4Jdg763QxVVD+b6MKL7zkfNybUQpL0T5mDMdJQukQgBsyW0kIe3xtCLfY6GG4lxVhb7G7YM59L3i1s1ZkU6Vc1bNc RXw== 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 |
LUF(Lazy Unmap Flush) reducing tlb numbers over 90%
|
expand
|
diff --git a/arch/arm64/include/asm/tlbflush.h b/arch/arm64/include/asm/tlbflush.h index 95fbc8c056079..a62e1ea61e4af 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.
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(+)