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 C9E87C52D6F for ; Wed, 21 Aug 2024 07:33:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 24A646B00AF; Wed, 21 Aug 2024 03:33:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1FAEB6B00B0; Wed, 21 Aug 2024 03:33:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0EACD6B00B1; Wed, 21 Aug 2024 03:33:15 -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 E574E6B00AF for ; Wed, 21 Aug 2024 03:33:14 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 87A4880850 for ; Wed, 21 Aug 2024 07:33:14 +0000 (UTC) X-FDA: 82475436708.02.4CB95C3 Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by imf19.hostedemail.com (Postfix) with ESMTP id 4EA611A0009 for ; Wed, 21 Aug 2024 07:33:10 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=none; spf=pass (imf19.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.189 as permitted sender) smtp.mailfrom=linmiaohe@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=1724225575; 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=vYfpg7KdfgHXm/mAaXfe9HgN1ZEOXbVhDTfUuFvt1hc=; b=DoLaqZ5LSsBZV/mdfJDPolNNRjVASUx0uqs2L+uBDb27e8uP+h+t45Pz7PgYqb4Yg9DqDM IVfKDi8hmSwXXjEw13vGZytQQecMpBiI3m7hPqouJdswJakJnJfzUg/FMCdQ6Zl+jel6sY nYRorGgnB2KEyE9XtncTQVX+tMBCPOs= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=none; spf=pass (imf19.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.189 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724225575; a=rsa-sha256; cv=none; b=vrpHO98FDJ+IG+6CMDnu5LPu2YG7/YQExmgMs7x8iOlqT/QFQdK/99pinEtH/GanHQog9e dfu7SY775PFNN66I/Sb1+4b3V6SO3Op4lIy9kVcCDLs+wY0YmD8yGQZ9wpB7fl0SHLu7VV 8hdVNDDVBAzzA+kt0nyYTfjvlDgUqXw= Received: from mail.maildlp.com (unknown [172.19.88.194]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4WpdGv4p5rz609Q; Wed, 21 Aug 2024 15:28:23 +0800 (CST) Received: from kwepemd200019.china.huawei.com (unknown [7.221.188.193]) by mail.maildlp.com (Postfix) with ESMTPS id 987391401E0; Wed, 21 Aug 2024 15:33:05 +0800 (CST) Received: from [10.173.127.72] (10.173.127.72) by kwepemd200019.china.huawei.com (7.221.188.193) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Wed, 21 Aug 2024 15:33:04 +0800 Subject: Re: [PATCH v2 1/5] mm: memory_hotplug: remove head variable in do_migrate_range() To: Jonathan Cameron , Kefeng Wang CC: Andrew Morton , David Hildenbrand , Oscar Salvador , Naoya Horiguchi , References: <20240817084941.2375713-1-wangkefeng.wang@huawei.com> <20240817084941.2375713-2-wangkefeng.wang@huawei.com> <20240819102818.0000080b@Huawei.com> From: Miaohe Lin Message-ID: <2589c694-8904-893e-3b76-e9d2d8409471@huawei.com> Date: Wed, 21 Aug 2024 15:33:04 +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: <20240819102818.0000080b@Huawei.com> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.173.127.72] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To kwepemd200019.china.huawei.com (7.221.188.193) X-Rspam-User: X-Stat-Signature: 8mcjn4qe66wr7qorqrf8w4uwqo7eew9a X-Rspamd-Queue-Id: 4EA611A0009 X-Rspamd-Server: rspam11 X-HE-Tag: 1724225590-517003 X-HE-Meta: U2FsdGVkX1+bfgzpshmdjoRFbl21IZoizi2VJ7zuVhoWSlVX4KHw4fmTK6wR9n2hCiLoLxEUjjDGGyw1Y+pWvZ90y4wHUUu+7yWW5KNGV2JsyQDfZjYGEeqBwvossRFBfq41a6JCXiAb+N9BRSDcWLabM1Ots7nwfnw3pU6MChXm6Pxk1hZfGzYqhrK7d5cHNaou1RUdwQ+1h8ahZmjbJkmJG36N4Gp41UlQ1ziCFtKvIaJ7+nkHNWnE6Qt3yeiz4X2PivPfQoq+4WSQr/pR+pG0d5C7OgRjCNO3OcEyJFimWQxcQJolnMV2CPS2MHQ/C5qKP3wwQkffyFJsUCXuZmrOFrOZKlZA9oYETxq6/4LEVkwVBQceaV0MU5Mi5N1WtteBttcsLNAqjAcbqjezE89DyTlshDN5dVJ3hFw9G92Tm1smj0G/F8XcUDCM4jY7cQHyETy0kg6g3yRNJkrrCrk7+KI0EBqW3PEep6GR+k/roCVd1ATuFKpF0iM8bh//2Kvk9NL+SP0j1wuYLjtxrJawIkRbyQpmYXbcrhkPJN7+eG6RGh7PpTFKdPfPWXSp00WMc9pniI/+5Fky+VFJb6/XI12B+DmejMFXALyy2ghXfcA/2FIxWg4bsPRT1QFNf9gDp+JKdSCMBFiOsv61WR9MPNmtNOqow1OMjduuDrt3EzRupi8p2nTkdJQIPJ6dUpF4A/KAuFou01RtY51WONxfCmvZ17zmA7/vIDHwQJNBE7rk78r/mDnXIHm9ZqQ6EoHPYaxPVOdYHGXSbNLUee3a6jf2w8cvLOwEp9Wp4ou5Nk3Zd5hhsiuqkmNzrfEGx+L2jDwzEj59OLlo4I9oZGqUnI4NAh69Xq5VzQxOG2QHGIDIxNMj7m8/r1l5bFKujYSA2IGLAHOcdLkG3cw/4vj95y25geu0FRpkLRyhXzoY7/ZzKxVY6VbUFkgSxHLOSgK9u2Q4bPOxr8CQ2xV CgznqMkS k3phx5zOAyAuCA1hJL1pAh4Q7PrUnCHaMmxOKoYFCjk9r679OLlHww8xNfUW9F9xik7KHLczlTp0VF5sDJnCf9e05KSjZ2rTSkF5PVIC1J3UnS8Nh0PUMdTmdgKD3wh4cN11Z7+HOwLyJ9tib3BptJcshjLEsCmQKPYZ4pnHjYVP+vnzdwiN2FQ6I2MWaBMvh76NTx2shvEAGa5A7wCLPQLsjDbgpJH7jn2wK6AyWbZJgPBR99eybOaFtWhjLyvBuvT6IXLEHbR/36YJvbJecy5QRTHJ0YbJUmlTs6zvhL3J+57qFanbVGDKNrA== 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/19 17:28, Jonathan Cameron wrote: > On Sat, 17 Aug 2024 16:49:37 +0800 > Kefeng Wang wrote: > >> Directly use a folio for HugeTLB and THP when calculate the next pfn, >> then remove unused head variable. >> >> Signed-off-by: Kefeng Wang > > Hi, > > I was curious so had a read and have a quick comment > on the comment. > > >> --- >> mm/memory_hotplug.c | 22 ++++++++++++++-------- >> 1 file changed, 14 insertions(+), 8 deletions(-) >> >> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c >> index df291f2e509d..dc19b0e28fbc 100644 >> --- a/mm/memory_hotplug.c >> +++ b/mm/memory_hotplug.c >> @@ -1773,7 +1773,7 @@ static int scan_movable_pages(unsigned long start, unsigned long end, >> static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) >> { >> unsigned long pfn; >> - struct page *page, *head; >> + struct page *page; >> LIST_HEAD(source); >> static DEFINE_RATELIMIT_STATE(migrate_rs, DEFAULT_RATELIMIT_INTERVAL, >> DEFAULT_RATELIMIT_BURST); >> @@ -1786,14 +1786,20 @@ static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) >> continue; >> page = pfn_to_page(pfn); >> folio = page_folio(page); >> - head = &folio->page; >> >> - if (PageHuge(page)) { >> - pfn = page_to_pfn(head) + compound_nr(head) - 1; >> - isolate_hugetlb(folio, &source); >> - continue; >> - } else if (PageTransHuge(page)) >> - pfn = page_to_pfn(head) + thp_nr_pages(page) - 1; >> + /* >> + * The folio hold no reference or lock, it might be changed >> + * concurrently(eg, split), folio_nr_pages() may read garbage, >> + * but out loop could handle that as it revisits the split >> + * folio later. >> + */ > Perhaps reword this (it confused me a bit) I'm not sure I've retained > the intended meaning! > > * No reference or lock is held on the folio, so it might > * be modified concurrently (e.g. split). As such, > * folio_nr_pages() may read garbage. This is fine as the > * outer loop will revisit the split folio later. With above comment changed, this patch looks good to me. Reviewed-by: Miaohe Lin Thanks. .