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 BC6EDC5321D for ; Tue, 27 Aug 2024 01:19:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3F95F6B0096; Mon, 26 Aug 2024 21:19:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3A92C6B0098; Mon, 26 Aug 2024 21:19:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2708F6B0099; Mon, 26 Aug 2024 21:19:44 -0400 (EDT) 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 0AC436B0096 for ; Mon, 26 Aug 2024 21:19:44 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 777EAC14A2 for ; Tue, 27 Aug 2024 01:19:43 +0000 (UTC) X-FDA: 82496268246.09.E0FC56E Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by imf23.hostedemail.com (Postfix) with ESMTP id 07474140003 for ; Tue, 27 Aug 2024 01:19:40 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf23.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.188 as permitted sender) smtp.mailfrom=wangkefeng.wang@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724721562; a=rsa-sha256; cv=none; b=2cLCVQCvaqJRwRp2l4t0XfTjRTdeqOIbFegwFAv8QSwpEjsISmgVwOyGb5hY+Np1dnRYLf IAC3OuIYBeBTLfonkFDYMjEcHb0dpvy5q5gOPOk3Lk9Ax/vvNvspe5WwZj19huKOG8tOfh 9IkPDhzem0mlSxNzwXbFkcYgA90CLmM= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf23.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.188 as permitted sender) smtp.mailfrom=wangkefeng.wang@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724721562; 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=V4BHFILLYXoC6opJ7i16cl9PYC/QjyMMOBLsgEcM7Cs=; b=S6JCKm6+LuuuCYn6tpgqvj24OIHaxfrIMshZ/2HwNikSxmOR/56QTJeCsWDvKWgEFu4lLa 9iL/xPsJwGDs7agPns5VmITKiApWYNNjw+LIox3onkFGgsvXkQ26VgfL4wsjKfexvJS9zc P3YUuNQzG53pz5YxdA1pTOfpYwO3XJI= Received: from mail.maildlp.com (unknown [172.19.163.174]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4Wt8mg2Cn2zpTg1; Tue, 27 Aug 2024 09:17:55 +0800 (CST) Received: from dggpemf100008.china.huawei.com (unknown [7.185.36.138]) by mail.maildlp.com (Postfix) with ESMTPS id 38583140257; Tue, 27 Aug 2024 09:19:35 +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; Tue, 27 Aug 2024 09:19:34 +0800 Message-ID: <84b6af62-2369-456b-b051-c4dd3d17728b@huawei.com> Date: Tue, 27 Aug 2024 09:19:34 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 4/5] mm: migrate: add isolate_folio_to_list() Content-Language: en-US To: David Hildenbrand , Andrew Morton CC: Oscar Salvador , Miaohe Lin , Naoya Horiguchi , References: <20240817084941.2375713-1-wangkefeng.wang@huawei.com> <20240817084941.2375713-5-wangkefeng.wang@huawei.com> <14bb8bee-1216-4094-ac24-1630e44aa83a@redhat.com> From: Kefeng Wang In-Reply-To: <14bb8bee-1216-4094-ac24-1630e44aa83a@redhat.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.174.177.243] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To dggpemf100008.china.huawei.com (7.185.36.138) X-Rspam-User: X-Rspamd-Queue-Id: 07474140003 X-Rspamd-Server: rspam01 X-Stat-Signature: h8skicf5y57mgiy3sedh79bcncpangaw X-HE-Tag: 1724721580-357600 X-HE-Meta: U2FsdGVkX19bzIv2cH8QBbn7Sjo5VZgF2b40PYDiK96vWitJq3agqfR8lYmBf0wXtHVu0rvEzI5pupoH+2kd0vzWXppxAjmO9QeQvguTm14ylKbXwWMti8IJfiLPWMGoKPjwogQmEvu2jP7uJyu2PWwUbd2fNxLGwa7OQ8acpBl5DCXqcmvH19xq5QpHPUwm4nDF13kFkimbqaf+269s/BNtj37+Wkv3ND+E3g6f7Uso5Ws/oqfKJVpvjcMrFags5OualwgWgc86lY46pR0hOYdU8qbly0eDwPC7e2ZCLOW9d1efaUEiNhgIqd3109HAWmQruKkAVtONZ4xcPVLINCyBst8KqkbMjBn15UGExybWksqe++/WGuPhrRiTIJnAi1noH1A+V+NPOGvCaEJEZnv9H3+5kr9gV5uaHGp7LVEeP8N2kMWlB2HLbQFxL+MMtbRatw2PIvQHybnyDugCei7Hy4BSJIU0s7l2ZzEZl8cnfsXYEJocd+dD0ou+91nVvZelwqxBYx/XIrYo0OuRv8kIzpFvlfyb0GfSa80UYzzO3sD5p7TlFFFBLkOfk9Kd4DY6VGExHxGyCpW8kDz5rzvYEE4lLBUJIC+vakytd1dKEoUJEZHKjz+AMVQOnK5ucJgodkGjdy7iBykZGSRcg6gqNPj461ydw7afHCoUe7NBoefqxipqaizexLCewhTac2Irdqxb3bextBk3WsyyaHWSEU7sZOkQ4Ax5hT1gpibBSAbyDQxXuqq02TIfjazLD0fG6wBx3JtC8xZEcwO6WbQgycEnxBMJic6cPo491odMss9c3mtscBanXnn3KnkWWoOonu/ip1lBZMcmHc3352TcBwwi+/dwdEw8HnRa7L6VKQjdgtOikEFtk19d8mvlN18z+nOuvyz9+uaPsyNiAuksxr+2GjgVfJGR1fFE9EsjPH7C7XL+29DwA6OkUMbjdP/x4BVEZYw/IBSNQBs mMcN40H3 ZdBC9CZ/bBc1HLfw2Z6ik2SvBsqHV5/pzr50UjLlNv28yY6urmWWb43551MY/86cRGiuTBnS3H0zs4VsMAkPd+sm8jR6NOSj8QAO5uu9BS8ufL05oLPqlsW+RH5qa3Rps1AKVauHacEhZnKKQYcae/JAknuUIA+RpkiSCSVbf4ERuDAgWMTSgeVe9UbGrvJz9nWkNCbNWFeeOuj99aXQHPwKbqWE7rKN6Us52TNjzxmW21rorAjNvX/q5QoXg/Avkvp8qt6IhaeZbnJMrsWJl+pV8ARTn39pgEguqjMvY3m/O+T4YRNWyQ1Hkng== 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/8/26 22:50, David Hildenbrand wrote: >> diff --git a/mm/migrate.c b/mm/migrate.c >> index dbfa910ec24b..53f8429a8ebe 100644 >> --- a/mm/migrate.c >> +++ b/mm/migrate.c >> @@ -178,6 +178,33 @@ void putback_movable_pages(struct list_head *l) >>       } >>   } >> +/* Must be called with an elevated refcount on the non-hugetlb folio */ >> +bool isolate_folio_to_list(struct folio *folio, struct list_head *list) >> +{ >> +    bool isolated = false; > > No need to initialize this to "false". > >> + >> +    if (folio_test_hugetlb(folio)) { >> +        isolated = isolate_hugetlb(folio, list); >> +    } else { >> +        bool lru = !__folio_test_movable(folio); >> + >> +        if (lru) >> +            isolated = folio_isolate_lru(folio); >> +        else >> +            isolated = isolate_movable_page(&folio->page, >> +                            ISOLATE_UNEVICTABLE); >> + >> +        if (isolated) { >> +            list_add(&folio->lru, list); >> +            if (lru) >> +                node_stat_add_folio(folio, NR_ISOLATED_ANON + >> +                            folio_is_file_lru(folio)); >> +        } >> +    } >> + >> +    return isolated; > > Revisiting this patch, we should likely do > > bool isolated, lru; > > if (folio_test_hugetlb(folio)) >     return isolate_hugetlb(folio, list); > > lru = !__folio_test_movable(folio); > if (lru) > ... > > if (!isolated) >     return false; > > list_add(&folio->lru, list); > if (lru) >     node_stat_add_folio(folio, NR_ISOLATED_ANON + >                 folio_is_file_lru(folio)); > return true; > > > to avoid one indentation level and clean up the code flow a bit. Sure, will rewrite according to above pattern. > >> +} >> + >>   static bool try_to_map_unused_to_zeropage(struct >> page_vma_mapped_walk *pvmw, >>                         struct folio *folio, >>                         unsigned long idx) >