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 E1097C4167B for ; Wed, 8 Nov 2023 04:12:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 54EB18D0094; Tue, 7 Nov 2023 23:12:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4D74A8D0058; Tue, 7 Nov 2023 23:12:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 303B78D0094; Tue, 7 Nov 2023 23:12:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 181678D0058 for ; Tue, 7 Nov 2023 23:12:21 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id D507CC0A65 for ; Wed, 8 Nov 2023 04:12:20 +0000 (UTC) X-FDA: 81433464840.28.29BC3EE Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92]) by imf13.hostedemail.com (Postfix) with ESMTP id 2E7FD20015 for ; Wed, 8 Nov 2023 04:12:17 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=none; spf=pass (imf13.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=1699416739; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Bms5Ir3hn+Rn2+xE9T966SKxFCH25WakjxuLg0ogqyg=; b=3Dpqe3sxRdZGMmWwH8tz/6pGu7BLGB8ga4ycol+ziRfecOUYHNjLcsLlctK/Lfg9Zwnivd jsqBlSUfRuI1xBq/YGhAoUNXKz/UnvtgzW8c48R9pPfYgvzv67CntMFE7QQGRjjjDEB7lJ dUiujOzWDC2YU02uY/89fk2lpfXqVp0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699416739; a=rsa-sha256; cv=none; b=0F03jVxi86P5Gc4LXi5HuiBCJNtedJ9gK9WyLBp56oh0fgzM36rB0UjIZvo7j+xZkKkA1q q16NnBJw7msUqX9za8tqix84ycws5iL9HPW1R2ApzLspU9M65RxuXoCrPOthlxjhcGsh77 cN0eSrXMO7Cd8wao57o3BiYbjsLhf2U= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=none; spf=pass (imf13.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com; dmarc=none X-AuditID: a67dfc5b-d6dff70000001748-42-654b0a9d8f88 Date: Wed, 8 Nov 2023 13:12:08 +0900 From: Byungchul Park To: Nadav Amit Cc: Linux Kernel Mailing List , linux-mm , "kernel_team@skhynix.com" , Andrew Morton , "ying.huang@intel.com" , "xhao@linux.alibaba.com" , "mgorman@techsingularity.net" , "hughd@google.com" , "willy@infradead.org" , "david@redhat.com" , "peterz@infradead.org" , Andy Lutomirski , Thomas Gleixner , "mingo@redhat.com" , "bp@alien8.de" , "dave.hansen@linux.intel.com" Subject: Re: [v3 2/3] mm: Defer TLB flush by keeping both src and dst folios at migration Message-ID: <20231108041208.GA40954@system.software.com> References: <20231030072540.38631-1-byungchul@sk.com> <20231030072540.38631-3-byungchul@sk.com> <63C530D3-3A1D-4BE9-8AA7-EFF5B895BE80@vmware.com> <20231030125129.GD81877@system.software.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20231030125129.GD81877@system.software.com> User-Agent: Mutt/1.9.4 (2018-02-28) X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrMIsWRmVeSWpSXmKPExsXC9ZZnoe5cLu9Ug7+zdCzmrF/DZvF5wz82 ixcb2hktvq7/xWzx9FMfi8XlXXPYLO6t+c9qcX7XWlaLHUv3MVlcOrCAyeL6roeMFsd7DzBZ bN40ldni9w+gujlTrCxOzprM4iDg8b21j8VjwaZSj80rtDwW73nJ5LFpVSebx6ZPk9g93p07 x+5xYsZvFo+dDy095p0M9Hi/7yqbx9Zfdh6fN8l5vJv/li2AL4rLJiU1J7MstUjfLoEro7P9 GnvBN66KJ9/vszcwruLoYuTkkBAwkfjQPZkJxv7U8QzMZhFQkVh05QsziM0moC5x48ZPMFtE QFHi0P57jCA2s8A7VonvnzRBbGGBaIlPe1+xg9i8AhYSC+c/AprDxSEkcIRRYuudXSwQCUGJ kzOfsEA0q0v8mXcJaCgHkC0tsfwfB0RYXqJ562ywXZwClhLfVxwG2yUqoCxxYNtxsJkSAtvY JX4t/gB1tKTEwRU3WCYwCs5CsmIWkhWzEFbMQrJiASPLKkahzLyy3MTMHBO9jMq8zAq95Pzc TYzAqF1W+yd6B+OnC8GHGAU4GJV4eF94eqUKsSaWFVfmHmKU4GBWEuH9a++RKsSbklhZlVqU H19UmpNafIhRmoNFSZzX6Ft5ipBAemJJanZqakFqEUyWiYNTqoExTezjfzeBU2mv+JNuTG++ 0qjFeqrin+2m7RJuLnkePZvfcU9X5RP68f7Tm8Kizm3dWcYXdthv7rimYfkx+zbHJLdYhbUf dtgv17h4Ofr1DPnTcWFB31zbzf4fTomUCw830buz60146TmLLO6rt4u7TzwTtL62o3RH9dxD yYvfbFtgsrZap+2hEktxRqKhFnNRcSIA2bMZMNYCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrFIsWRmVeSWpSXmKPExsXC5WfdrDuXyzvVYOk2MYs569ewWXze8I/N 4sWGdkaLr+t/MVs8/dTHYnF47klWi8u75rBZ3Fvzn9Xi/K61rBY7lu5jsrh0YAGTxfVdDxkt jvceYLLYvGkqs8XvH0B1c6ZYWZycNZnFQdDje2sfi8eCTaUem1doeSze85LJY9OqTjaPTZ8m sXu8O3eO3ePEjN8sHjsfWnrMOxno8X7fVTaPxS8+MHls/WXn8XmTnMe7+W/ZAvijuGxSUnMy y1KL9O0SuDI626+xF3zjqnjy/T57A+Mqji5GTg4JAROJTx3PmEBsFgEViUVXvjCD2GwC6hI3 bvwEs0UEFCUO7b/HCGIzC7xjlfj+SRPEFhaIlvi09xU7iM0rYCGxcP4joDlcHEICRxgltt7Z xQKREJQ4OfMJC0SzusSfeZeAhnIA2dISy/9xQITlJZq3zgbbxSlgKfF9xWGwXaICyhIHth1n msDINwvJpFlIJs1CmDQLyaQFjCyrGEUy88pyEzNzTPWKszMq8zIr9JLzczcxAmNwWe2fiTsY v1x2P8QowMGoxMP7wtMrVYg1say4MvcQowQHs5II7197j1Qh3pTEyqrUovz4otKc1OJDjNIc LErivF7hqQlCAumJJanZqakFqUUwWSYOTqkGxnsiss9i/PSeMNSsjD1VWPus9lKu0qn9VbmX m51YOb3LTbic1lifrTkgc0ZkHtvfG3O+rZXmibkVVWYxV/4Af993h4N1sYlKMz+Ee+s4X/G7 FlDycOm7r5735K9/KJnZf2tDZc3W1S/12y/sy47QN90/5dN6PqatZ1qsjinEv1OYFvRW9BR/ hhJLcUaioRZzUXEiABSiR+69AgAA X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 2E7FD20015 X-Rspam-User: X-Stat-Signature: ow1ookjeyiuzufwowh4u5rujta1ouhdd X-Rspamd-Server: rspam03 X-HE-Tag: 1699416737-998709 X-HE-Meta: U2FsdGVkX1+zcSfUC+STlxQvjCd/dD4PrzczQ8kUBovF7XBEgCNB5F2V7FifJaxYXyZ4in4plxbC2dqzVP7ubXAFNFQV/FJlehdzeQA8qnf0oMy0XlEcwfaMGfyL3TfSbPRpa4JHuGKV5T0prypbntHGPoL6GPY4luZDDRGVsH32EhC+NLtKlHleTZLyfSYUusISJiJaUYuhxQ28sRDQspO459hxebcwDrAdkqqac6CxVAfLlDmdA67jotRjcQFVQ6eDxtI6+XH6gkptEkaQHH5bIx0rcL5FiJ6e3gtfF5BLcXc8XXwyJGQ4MGDgrvL+yQ+7d/7U5dn1bijYsJuJS0YjZG3WHC/yqlfTm1fmmHBDXtWzIJn6g/Iy+lR2VNSJBKjFDZRtWhl8Qi3l7TQXzC9OVxqMUn79UK3VceP3SDxcLhiS7Ihcf07K+rwAHqBLPFCZp/csCxPXxut+wTUbomQYCAXnPxswbz6+MAnlVqXZDWqRM7TJM7Pg84RkSO4uebFxamVvb6nMe/Xz2AytCdhxClUhdcO438JfhntEPNBYq+1GFNyXsg0dhSKuAnH8JgemU3ia+2cyntAQOIhs90vgj4bD4Ka4KCeth5/Di6Z6Jq/kqIjH8LUv/n0c1LCigotK4Z/Pk51L5yqNFxBbgVG2VsmaVhZAE0YbnQAZJLN5KzT36DDtMebOz88LzMv66Q4Y91rEw7vCV2SJrPx6ecigqDO4re0oywc/aZn6MJwLlMwFN/y7erfHdKOW4ErkdhljG/ELKdci+7R5CgVwJJZZmIFi79aaR2ikoQAFHcaPR0FPNCVSOgAKpQOkilQIkZH5v0ssrCqTKNDPstq3kiPffLcxrpyMVezohoijXcFnyEOYioHtdEQCvgVDWwe6WdHcfYdVcGxlmL/l+tgVDfWuCR2XI9KFrWVVxHMJaQJmhicR2XeqEdcY2ylOhnV+YED6SHbFcPc= 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 Mon, Oct 30, 2023 at 09:51:30PM +0900, Byungchul Park wrote: > > > diff --git a/mm/memory.c b/mm/memory.c > > > index 6c264d2f969c..75dc48b6e15f 100644 > > > --- a/mm/memory.c > > > +++ b/mm/memory.c > > > @@ -3359,6 +3359,19 @@ static vm_fault_t do_wp_page(struct vm_fault *vmf) > > > if (vmf->page) > > > folio = page_folio(vmf->page); > > > > > > + /* > > > + * This folio has its read copy to prevent inconsistency while > > > + * deferring TLB flushes. However, the problem might arise if > > > + * it's going to become writable. > > > + * > > > + * To prevent it, give up the deferring TLB flushes and perform > > > + * TLB flush right away. > > > + */ > > > + if (folio && migrc_pending_folio(folio)) { > > > + migrc_unpend_folio(folio); > > > + migrc_try_flush_free_folios(NULL); > > > > So many potential function calls… Probably they should have been combined > > into one and at least migrc_pending_folio() should have been an inline > > function in the header. > > I will try to change it as you mention. > > > > + } > > > + > > > > What about mprotect? I thought David has changed it so it can set writable > > PTEs. > > I will check it out. I found mprotect stuff is already performing TLB flushes needed for it. So some redundant TLB flushes might happen by migrc but it's not that harmful I think. Thanks. Byungchul