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 77666C4345F for ; Thu, 18 Apr 2024 02:32:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C72976B0089; Wed, 17 Apr 2024 22:32:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BB1926B0087; Wed, 17 Apr 2024 22:32:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9B6046B0087; Wed, 17 Apr 2024 22:32:38 -0400 (EDT) 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 6C4096B0089 for ; Wed, 17 Apr 2024 22:32:38 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 1EAE2A1DC8 for ; Thu, 18 Apr 2024 02:32:38 +0000 (UTC) X-FDA: 82021079196.02.72C19C9 Received: from szxga05-in.huawei.com (szxga05-in.huawei.com [45.249.212.191]) by imf10.hostedemail.com (Postfix) with ESMTP id 1968CC0006; Thu, 18 Apr 2024 02:32:33 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf10.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.191 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713407556; 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=eTvmYVn2DrIFoRiMTIhWYGhzSEDxmAYq5sPadfySEUs=; b=C+huxPL5mnOcFSW4DIPMUj5ADh1D2pQ0ekMGiIzxGjNMXZcWAVldLNsFPt+PfR0xwZ/qnI dVqvpBBAe1faGg+k/AycT9IdjGP6anQq2dINCwIjrk/oi4n5BFN50jG8wbBz5JdpOPqCWE KRURnWlpgV0EVi2z4xRIhvmF4BFtDEU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713407556; a=rsa-sha256; cv=none; b=0WK1dJVR0xpHRl7MERx4EOAeBpjkMAcBBPeROMQzc/uxRg+1TOhgMhrFdTPwp7C7gzC2dD HEBlqEC0N6ZCRJ71XGnBO6ENslENu6lWZvHXRMp6HL+FfdwkF2urwKcWPgVoPUJa0Xl72g b69l10vHymN57bKfqbCm+CkdyVdz3G0= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf10.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.191 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com Received: from mail.maildlp.com (unknown [172.19.162.112]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4VKhYl3qMQz1hwQx; Thu, 18 Apr 2024 10:29:31 +0800 (CST) Received: from canpemm500002.china.huawei.com (unknown [7.192.104.244]) by mail.maildlp.com (Postfix) with ESMTPS id 046111402CF; Thu, 18 Apr 2024 10:32:30 +0800 (CST) Received: from [10.173.135.154] (10.173.135.154) by canpemm500002.china.huawei.com (7.192.104.244) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 18 Apr 2024 10:32:29 +0800 Subject: Re: [PATCH v1 04/11] mm: migrate: remove migrate_folio_extra() To: Kefeng Wang CC: Tony Luck , Naoya Horiguchi , Matthew Wilcox , David Hildenbrand , Muchun Song , Benjamin LaHaise , , , , Zi Yan , Jiaqi Yan , Hugh Dickins , Andrew Morton , References: <20240321032747.87694-1-wangkefeng.wang@huawei.com> <20240321032747.87694-5-wangkefeng.wang@huawei.com> From: Miaohe Lin Message-ID: Date: Thu, 18 Apr 2024 10:32:28 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [10.173.135.154] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To canpemm500002.china.huawei.com (7.192.104.244) X-Stat-Signature: dx3abzbt9fj3kf6nwnzotry7e3inud66 X-Rspamd-Queue-Id: 1968CC0006 X-Rspamd-Server: rspam06 X-Rspam-User: X-HE-Tag: 1713407553-698547 X-HE-Meta: U2FsdGVkX1//9bq09UNfto8YkVXqUtcDWLiei2nOPvWWBXG5tGybUFe9CAugPl6+ikMyO2jk8iSe8+XsH2z2x9GZKUHlx1WIb+Rf2IMPn/t58e0I04SF5sYSrbMMVrCyA3UElRJleekrOFZcMhW2yh1JB0TbuNmX3z79LrzkVt6S7g9/LXQbv86N1nj7AUT7LuSTQOHh/C16EpfkuvJysmBpYcPFuNE57Uvf9ifWcfaQToxfELwnRx+RZD244nUCvDaS73F0phe7N9qHQEwTOQU6mKIGcTztI9Aav+uV+r6p89A345JmrUtYIS59s57LHb4I8LizBlyV+LKiTZUA5v9i4zXveYkwplQT7lMqUlr4ujCuuCtbQkxnksL+iIU+6jCQLzprjUAVgnSuGj3FQH7V29a+KTPOSoN/jYMcaiYFXjP7dzgIADn4uEfc/cicdvC5Y96qu2y3MtxEnUrdYungIAvGdgjMWUke8zBCDExxNtuJzOAHK83mvQ4L02D0DMxRyiu6nwayPU87SG2Sjr/hF7sXajt299wL1DtIWP+Ldws16mgOnq3NDvxgni8HPbpXDm4wA2N3POagOHapvvpu03c2sqZZowH6IP8e0RP7aJ9aS10d05hcOi2nAhtNXCOiflYUkye3xFFMVOL+Oc4QewQFTezeMZXfsTkdgl0W2Vf4PgZiSVUU40N2ZDjNWOL19m9Uo+qAZieCFKDekuVF+AIDm9TNW7RxTAQmu9hKwelNprClZENpt4mpIsA3NUx2Ngj53STjec+A2YsvPrHiz2CGefjaIi0Qt3zFLMKsNlvxG5M3OD0TICciDaylpmZHYMJDeylDbhJW8GEIpWKNbqvwA8JN7EkgXKhrWqVjG1le61GnRuEEFctXx1vNMpJcgHxyNTHWocwzvQSmr0Aofw3XhxJc0oPR5PGuz/LyFYk4fC27Y08buaNSVLIvAwKySa8TMv/pe0DeOn8 xU5ykm7B HfUDdMZsBAr5qahPBaRhIhfwaMccRL5yWYthEGg2g9eKWDiv0BwsuMdiYw03FUHK0PVjD4ll43nOQlug7BOozLOj8Tf2CwMcysAL3DJVMwUBpatjcHoUKLZ5G34aoK5YkK2pdRNC6VjXA3ChT9aLDSZrt7tjSHtTnleKBb3pOV6jI/xT9hmGgeNitbbiqAqkTLcJioM3copIJtKPiAFGE6ROHSYfs0ak64Fi+ 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/4/17 9:43, Kefeng Wang wrote: > > > On 2024/4/16 20:40, Miaohe Lin wrote: >> On 2024/3/21 11:27, Kefeng Wang wrote: >>> The migrate_folio_extra() only called in migrate.c now, convert it >>> a static function and take a new src_private argument which could >>> be shared by migrate_folio() and filemap_migrate_folio() to simplify >>> code a bit. >>> >>> Signed-off-by: Kefeng Wang >>> --- >>>   include/linux/migrate.h |  2 -- >>>   mm/migrate.c            | 33 +++++++++++---------------------- >>>   2 files changed, 11 insertions(+), 24 deletions(-) >>> >>> diff --git a/include/linux/migrate.h b/include/linux/migrate.h >>> index 2ce13e8a309b..517f70b70620 100644 >>> --- a/include/linux/migrate.h >>> +++ b/include/linux/migrate.h >>> @@ -63,8 +63,6 @@ extern const char *migrate_reason_names[MR_TYPES]; >>>   #ifdef CONFIG_MIGRATION >>>     void putback_movable_pages(struct list_head *l); >>> -int migrate_folio_extra(struct address_space *mapping, struct folio *dst, >>> -        struct folio *src, enum migrate_mode mode, int extra_count); >>>   int migrate_folio(struct address_space *mapping, struct folio *dst, >>>           struct folio *src, enum migrate_mode mode); >>>   int migrate_pages(struct list_head *l, new_folio_t new, free_folio_t free, >>> diff --git a/mm/migrate.c b/mm/migrate.c >>> index cb4cbaa42a35..c006b0b44013 100644 >>> --- a/mm/migrate.c >>> +++ b/mm/migrate.c >>> @@ -658,18 +658,19 @@ EXPORT_SYMBOL(folio_migrate_copy); >>>    *                    Migration functions >>>    ***********************************************************/ >>>   -int migrate_folio_extra(struct address_space *mapping, struct folio *dst, >>> -        struct folio *src, enum migrate_mode mode, int extra_count) >>> +static int __migrate_folio(struct address_space *mapping, struct folio *dst, >>> +               struct folio *src, void *src_private, >>> +               enum migrate_mode mode) >>>   { >>>       int rc; >>>   -    BUG_ON(folio_test_writeback(src));    /* Writeback must be complete */ >>> - >>> -    rc = folio_migrate_mapping(mapping, dst, src, extra_count); >>> - >>> +    rc = folio_migrate_mapping(mapping, dst, src, 0); >>>       if (rc != MIGRATEPAGE_SUCCESS) >>>           return rc; >>>   +    if (src_private) >> >> src_private seems unneeded. It can be replaced with folio_get_private(src)? >> > > __migrate_folio() is used by migrate_folio() and filemap_migrate_folio(), > but migrate_folio() is for LRU folio, when swapcache folio, the > folio->private is handled from folio_migrate_mapping(), we should not > try to call folio_detach_private/folio_attach_private(). I see. Swapcache folio will use private field while without using PagePrivate/PagePrivate2. We can't handle this case if src_private is removed. Thanks. . > >> Thanks. >> . > .