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 E50A2C433EF for ; Wed, 11 May 2022 07:28:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7FAE16B0073; Wed, 11 May 2022 03:28:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7A76D6B0075; Wed, 11 May 2022 03:28:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 671596B0078; Wed, 11 May 2022 03:28:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 58FD06B0073 for ; Wed, 11 May 2022 03:28:02 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 2134E220CA for ; Wed, 11 May 2022 07:28:02 +0000 (UTC) X-FDA: 79452633204.23.596146E Received: from esa5.hc1455-7.c3s2.iphmx.com (esa5.hc1455-7.c3s2.iphmx.com [68.232.139.130]) by imf15.hostedemail.com (Postfix) with ESMTP id 11A62A0097 for ; Wed, 11 May 2022 07:27:48 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6400,9594,10343"; a="71978111" X-IronPort-AV: E=Sophos;i="5.91,216,1647270000"; d="scan'208";a="71978111" Received: from unknown (HELO oym-r3.gw.nic.fujitsu.com) ([210.162.30.91]) by esa5.hc1455-7.c3s2.iphmx.com with ESMTP; 11 May 2022 16:27:59 +0900 Received: from oym-m1.gw.nic.fujitsu.com (oym-nat-oym-m1.gw.nic.fujitsu.com [192.168.87.58]) by oym-r3.gw.nic.fujitsu.com (Postfix) with ESMTP id 3F277D646B for ; Wed, 11 May 2022 16:27:58 +0900 (JST) Received: from m3002.s.css.fujitsu.com (msm3.b.css.fujitsu.com [10.128.233.104]) by oym-m1.gw.nic.fujitsu.com (Postfix) with ESMTP id 49993D99A6 for ; Wed, 11 May 2022 16:27:57 +0900 (JST) Received: from localhost.localdomain (unknown [10.125.5.220]) by m3002.s.css.fujitsu.com (Postfix) with ESMTP id ECF07200B31F; Wed, 11 May 2022 16:27:56 +0900 (JST) From: Rei Yamamoto To: linmiaohe@huawei.com Cc: akpm@linux-foundation.org, aquini@redhat.com, ddutile@redhat.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, mgorman@techsingularity.net, vvghjk1234@gmail.com, yamamoto.rei@jp.fujitsu.com Subject: Re: [PATCH] mm, compaction: fast_find_migrateblock() should return pfn in the target zone Date: Wed, 11 May 2022 16:07:10 +0900 Message-Id: <20220511070710.5576-1-yamamoto.rei@jp.fujitsu.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <2c2900eb-886a-5bbe-f7c7-9d74a6399893@huawei.com> References: <2c2900eb-886a-5bbe-f7c7-9d74a6399893@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Stat-Signature: 8mrok1gf655w6owwf48qnbdzofj3xhyw Authentication-Results: imf15.hostedemail.com; dkim=none; spf=pass (imf15.hostedemail.com: domain of yamamoto.rei@jp.fujitsu.com designates 68.232.139.130 as permitted sender) smtp.mailfrom=yamamoto.rei@jp.fujitsu.com; dmarc=pass (policy=none) header.from=fujitsu.com X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 11A62A0097 X-HE-Tag: 1652254068-559104 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: On Wed, 11 May 2022 14:25:34 Miaohe Lin wrote: > On 2022/5/11 12:43, Rei Yamamoto wrote: >> Prevent returning a pfn outside the target zone in case that not >> aligned with pageblock boundary. >> Otherwise isolate_migratepages_block() would handle pages not in >> the target zone. >> > > IIUC, the sole caller isolate_migratepages will ensure the pfn won't outside > the target zone. So the below code change might not be necessary. Or am I miss > something ? While block_start_pfn is ensured, this variable is not used as the argument for isolate_migratepages_block(): ----- static isolate_migrate_t isolate_migratepages(struct compact_control *cc) { : low_pfn = fast_find_migrateblock(cc); block_start_pfn = pageblock_start_pfn(low_pfn); if (block_start_pfn < cc->zone->zone_start_pfn) block_start_pfn = cc->zone->zone_start_pfn; <--- block_start_pfn is ensured not outside the target zone : block_end_pfn = pageblock_end_pfn(low_pfn); : for (; block_end_pfn <= cc->free_pfn; fast_find_block = false, cc->migrate_pfn = low_pfn = block_end_pfn, block_start_pfn = block_end_pfn, block_end_pfn += pageblock_nr_pages) { : if (isolate_migratepages_block(cc, low_pfn, block_end_pfn, <--- low_pfn is passed as the argument isolate_mode)) return ISOLATE_ABORT; ----- So, the low_pfn passed to isolate_migratepages_block() can be outside the target zone. Thanks, Rei