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 111BCCD4F59 for ; Thu, 5 Sep 2024 08:01:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7DC898D0006; Thu, 5 Sep 2024 04:01:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 78D2B8D0001; Thu, 5 Sep 2024 04:01:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 654C88D0006; Thu, 5 Sep 2024 04:01:40 -0400 (EDT) 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 459828D0001 for ; Thu, 5 Sep 2024 04:01:40 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 033631A19EB for ; Thu, 5 Sep 2024 08:01:39 +0000 (UTC) X-FDA: 82529940360.05.05FAB8A Received: from szxga06-in.huawei.com (szxga06-in.huawei.com [45.249.212.32]) by imf03.hostedemail.com (Postfix) with ESMTP id A693B20028 for ; Thu, 5 Sep 2024 08:01:36 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=none; spf=pass (imf03.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.32 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=1725523201; 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=hV7wrQHHSeZndRZSTK9koEM77/cgC0lNrbKopZkdA7E=; b=0vz5mXZGhYIRX0Y5gG0J2d2hPv6UNbgZ192j4hvvh6TuTR4KbwHuUaO42tfbgh57veVtey 8cqkiuplOITAYU9iNs2mdxrVLyRGD8ppQOFi6F/ziLqFQELVrUn3ThSMDmZzLpR73J4H8g 83mYGBggScPOQAy0byuehjWfhzh56go= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725523201; a=rsa-sha256; cv=none; b=x3CZH+cMFjxBbpbal7FgeTMq1WMxKFGC2IIETZKNWLJn1vycMWjBoFqJnxBQnYWxq1+u6O +lIduwXScYWGNbcOfrkiKMH7YX/xvIJ9TKNxj/ZvG9Mxpirb8sPXo/buqY+j9rP0cg5QSg +HqZDl9enTgUfhf8n0cAP4GQ8S3sJqU= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=none; spf=pass (imf03.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.32 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.44]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4WzsFv3kQKz1xx0t; Thu, 5 Sep 2024 15:59:31 +0800 (CST) Received: from dggpemf100008.china.huawei.com (unknown [7.185.36.138]) by mail.maildlp.com (Postfix) with ESMTPS id ACCF51400DC; Thu, 5 Sep 2024 16:01:32 +0800 (CST) Received: from [10.174.177.243] (10.174.177.243) by dggpemf100008.china.huawei.com (7.185.36.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Thu, 5 Sep 2024 16:01:32 +0800 Message-ID: <0014e53c-ceeb-494a-9bdd-9ef3b1d1bd4d@huawei.com> Date: Thu, 5 Sep 2024 16:01:31 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 2/5] mm: migrate: add folio_isolate_movable() Content-Language: en-US To: Matthew Wilcox CC: Andrew Morton , David Hildenbrand , Baolin Wang , Zi Yan , Vishal Moola , References: <20240829145456.2591719-1-wangkefeng.wang@huawei.com> <20240829145456.2591719-3-wangkefeng.wang@huawei.com> From: Kefeng Wang In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.177.243] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To dggpemf100008.china.huawei.com (7.185.36.138) X-Stat-Signature: 6u1hspwfngdmrizanpdjj59oixdj4urh X-Rspamd-Queue-Id: A693B20028 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1725523296-634962 X-HE-Meta: U2FsdGVkX18F3/BqbS1Du9RHsAMQkJSjqaZdMY73Sh7KKIxIHU5PONVvZ9lxOY2GyrGS0J5832dE4O+bF7sy/N24po0+LPRw9jkY7pgdZW8bVF3cIj04v1aSHMXegLXb60GUUFA2tPmtYePUxO9aUrwLrfYdJODsSZwNrtCv3oL/zzTm3DqNsb4Q58xO5Y14CNIs6EbjIQ7lEag1yikaGNkQXWnqnpyB0EJeMtlVlRWCt1kLN81tBKL9msgdg190DRmB1A6aAz2KSRVF3yJ66zsN5HL/sJOw5xh3DIbxNzR12OvjIS0voxfTynTFNN9nLbPKqOv04NTVALpoB1Gy43tNc+cdPfvnMXzvHA94Afi1X7zFpPkbz+vUa5Wg9oVY3dphXwvsexUIW1WAOz0npXqBTlez2X2ttaIVDXVaZ53cZN5/7Bv1U/JgRJXN5Bg2PNz6itj1VlZYlRpJUpZFqg08x7UWFBUamUCSg/hYDRHvlqkK8Q29aVMnXu2UqrdCqgtR7P1TJn5mmxRpeZ5B+/qjxMe7MWRv/5qiFmecCqUYDOmrb9BXV6+10+WaQhcJp9LUE7RmHNfo8UM49amXYyLhwrq5M1ygV3+TR4t5Rciv73Btii0cHbYky3SDc4df7bSJziMTK+0uueqzkwVdNkSpP/bc4bxnqUUZcw9nz6Ra4Sznt71mwJ00w7m8LBHANFxHFp/AZL+gdKLBPW1mlcd4F1n/z4vbxgLtp3C+ShOvhX6ICE0KuuKcY+P96iXORem485g7+6ID1YF3/pNkAdVJ91E7z4/vWWb6PNFjP1VWdhuzBXtqQMnbweG0hh0ox4sYOYROpDFuW5qMCYn+s/RwVJvCsdvg+zVBZoRPAnWrloNp+hiqQSHskO4CdBpmpXErJIgJ3DaH2mEVjI0X930hRtVzVZeCi2BH2tsUkhHNknwH2sl9ehWHorqvySYLNwkTw4DXy/qxWX4DgNL FZxbBXJY F/ODZa9kGKzOn6gU/p44UqLr7qiWp3B00R1hihYVms3elmOqbsbyCPIXdboJQFJoC6S8KdKWcitKqIfPmMQ6xqfAOvIhZStLM9UtOua1zoFN4EB0prQl85J8grGIpQN70Hu938XXEpdZfyhCbH2iv5zv/7OnB3A+pRhBCH5xKr+hCTCJoXx9wYiTm4/rpkIEqDjxqNF0ZVWApOsMf7zgCjBlwDcP5hqt+IHG7VS3SFdDrlUrAPAwYSJSteqAADwWfWPTyN/CUd1K1ovmmMVG/quUWJnkHskW4Chva 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 2024/9/5 3:05, Matthew Wilcox wrote: > On Thu, Aug 29, 2024 at 10:54:53PM +0800, Kefeng Wang wrote: >> Like isolate_lru_page(), make isolate_movable_page() as a wrapper >> around folio_isolate_movable(), since isolate_movable_page() always > > But not everything that is movable is a folio. Look at who sets movable > ops to see counterexamples. Confused, balloon, zsmalloc and z3fold(may deprecate) will set movable, but for core migration, most functions are converted to folio, and all callers of movable_operations are from folio to page too except isolate_movable_page(), mops->migrate_page(&dst->page, &src->page, mode) // move_to_new_folio() mops->isolate_page(&folio->page, mode) // isolate_movable_page() mops->putback_page(&folio->page) // putback_movable_folio() This try to unify them, so I move folio_get_nontail_page() out to compaction code, then isolate_movable_page-> folio_migrate_movable. could you explain more about your comments? thanks.