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 A21CAC47258 for ; Fri, 2 Feb 2024 09:06:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F41C96B007B; Fri, 2 Feb 2024 04:06:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EC9D76B0080; Fri, 2 Feb 2024 04:06:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D42B16B007B; Fri, 2 Feb 2024 04:06:12 -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 BB8CF6B007B for ; Fri, 2 Feb 2024 04:06:12 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 88EAA1A01A7 for ; Fri, 2 Feb 2024 09:06:12 +0000 (UTC) X-FDA: 81746282184.03.839E521 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by imf30.hostedemail.com (Postfix) with ESMTP id BD64680024; Fri, 2 Feb 2024 09:06:08 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=none; spf=pass (imf30.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=wangkefeng.wang@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706864770; 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=oy8Ql2gOZgKf9jRCI9vhRdl6FMuacuRMK+QDdhDSVo4=; b=y9gQRVG9JDyd3oJDFb76ZaidR9/6upeO5L5vWuhEJl5XAFjQ2stCgalhjjyzcXQGn4+qpE 9tjFN8vTrLd7ffwO1SzQ57mzf1ZhP9LkCpH8TXuY/ysLhZSjCjXhnp/+FPIo58WCU/F564 ZqkuTHb8QJBcXfDbn0fwdxTii2XFOhE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706864770; a=rsa-sha256; cv=none; b=lH/I1wxE4+H3v5xz/NlYSHPdabDkSZULaDLOARZqW/wG+niQ3jRik848+X4niU/0Ggl6Mv TzgeqeFhDOldAqOvJ2qerFDD+SL9uQuTERAUb3FtUKs+b4H0v87N1Q8AomIwSy8fTketCc cWkvSkXH19s3zOWoSyYtGfLLNwJBtXc= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=none; spf=pass (imf30.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=wangkefeng.wang@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com Received: from mail.maildlp.com (unknown [172.19.163.174]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4TR8wQ4xDFzvVL3; Fri, 2 Feb 2024 17:04:22 +0800 (CST) Received: from dggpemm100001.china.huawei.com (unknown [7.185.36.93]) by mail.maildlp.com (Postfix) with ESMTPS id 86FC41404F8; Fri, 2 Feb 2024 17:06:04 +0800 (CST) Received: from [10.174.177.243] (10.174.177.243) by dggpemm100001.china.huawei.com (7.185.36.93) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 2 Feb 2024 17:06:03 +0800 Message-ID: Date: Fri, 2 Feb 2024 17:06:03 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH rfc 6/9] mm: migrate: support poisoned recover from migrate folio Content-Language: en-US From: Kefeng Wang To: Matthew Wilcox CC: Andrew Morton , , Tony Luck , Naoya Horiguchi , Miaohe Lin , David Hildenbrand , Muchun Song , Benjamin LaHaise , , , References: <20240129070934.3717659-1-wangkefeng.wang@huawei.com> <20240129070934.3717659-7-wangkefeng.wang@huawei.com> In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.174.177.243] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To dggpemm100001.china.huawei.com (7.185.36.93) X-Rspamd-Queue-Id: BD64680024 X-Rspam-User: X-Stat-Signature: 1yd5q6kmjqx7s94cyp55195gt5jzwek1 X-Rspamd-Server: rspam03 X-HE-Tag: 1706864768-943140 X-HE-Meta: U2FsdGVkX19tEsJnaaWQkeOtkukvmlr7hXc9ThRV2JOVRLjsHTzc0Aj6njwuhktHhFY3ZNCKBjyroo5nsZZpjj6Y0Y+VeNagA8Xa81jD/tTwBnk9VY1yMidtSDdOnOBYK4VMSz7ve9qnCJ/MghnVvqEx47vdX4h9n7pm89DA3zr6hhe8KBr2HQ0ZjDb3DA++kGaoitIgxn+17j+YU9Cinb5yd3s1u3k8WYWfGHC89jhzBqZi1yqyBiHroWJ08aZxPhbkLEKBleZW6+TP1oyzON0xJamkFh8io5fcREhKF9czYFzSLENOGGj2MPyQR5dPNbzDm+M5xeKIzbv/iDPmRaFovq73s6LomEjt5Dj41Bxib60sd8Tb56Ro84hjWpNbT9JVb9T5h1Sc5+CAhC1ifdX6yRrxhP2XOTZ3jGjpRT90WN32qq9JVl7DNCCdcYw4AxOJaqTXZsHDz/Mav1qqG8tftfWmmPn77jc28d9r+N06SoVjfQU2iqiIZXlA49EDMVh9RZQtUcxQI0knMmrrpUWaimRWRD+VvM2/qlPBdehgBHwet4LkvddwKLImM9avLWURtuoFMBfQDBbF5TuyDqVIKl6TiUaKhPUScvnOCFSoD8n0hQJvD+qjMT7qaX/e8mJjFRd5xeFNSKEQSr1l7QhJ/LUIJf49VMvhpuB0lhUk5WUQ4SeiXB4n4AzXzz72rwcAHzWTpe+N0JaR6f3uDmIVTgiJL+fCVrm4NhOT69OYahZGhWZHLnaYUQtlze6hsG5JI6hrnL9iKluRN9m2DKI9LyXHhSvOLCNzgA0MaS/jFEqTvhwCD9yML9STbRVwouE7o0f/9SnHH6d4Vxmne4tdGoujkk1Tq01iygSMI87X13JGkwCoMFuJyInlLxuAwohcwf+o4cN+YoX1IVlSYKxXDY6KGcxGk+zZcUOMe7ArFiNe51vYnQu6bSrwJFJemLZjZKrHaXMNu5E9hFj 6BNuwuvt DrNj6N67bd2KwyWMJXKrRUIc5M1Ue3AgKLyIVrGXO/CafmgtHQ30qjTYtaPPpgFdikoVsSIVkFf+eFd+kpSu7+FfVj/qHlA0bL3eBD0RE2UbYPZZPYgUt6nbJ5zfsT/VPM1kNH+PGtHtcYVvQS8kfp9byIef1KAHLHaiDy8P22zhmVKFD7xWG6aB1tANY+eyRgIoj X-Bogosity: Ham, tests=bogofilter, spamicity=0.000389, 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 2024/2/2 11:04, Kefeng Wang wrote: > > > On 2024/2/2 4:34, Matthew Wilcox wrote: >> On Mon, Jan 29, 2024 at 03:09:31PM +0800, Kefeng Wang wrote: >>> In order to support poisoned folio copy recover from migrate folio, >>> let's use folio_mc_copy() and move it in the begin of the function >>> of __migrate_folio(), which could simply error handling since there >>> is no turning back if folio_migrate_mapping() return success, the >>> downside is the folio copied even though folio_migrate_mapping() >>> return fail, a small optimization is to check whether folio does >>> not have extra refs before we do more work ahead in __migrate_folio(), >>> which could help us avoid unnecessary folio copy. >> >> OK, I see why you've done it this way. >> >> Would it make more sense if we pulled the folio refcount freezing >> out of folio_migrate_mapping() into its callers?  That way >> folio_migrate_mapping() could never fail. > Question, the folio ref freezing is under the xas_lock_irq(), it can't be moved out of lock, and if with xas lock irq, we couldn't call folio_mc_copy(), so the above way is not feasible, or maybe I missing something?