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 303D2C30653 for ; Wed, 26 Jun 2024 07:57:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 519F06B0083; Wed, 26 Jun 2024 03:57:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4C9866B0085; Wed, 26 Jun 2024 03:57:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 390F96B008A; Wed, 26 Jun 2024 03:57:05 -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 1CE0D6B0083 for ; Wed, 26 Jun 2024 03:57:05 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 6A620C0BA5 for ; Wed, 26 Jun 2024 07:57:04 +0000 (UTC) X-FDA: 82272283968.18.E6AE818 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by imf13.hostedemail.com (Postfix) with ESMTP id 03EC12000F for ; Wed, 26 Jun 2024 07:57:00 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=none; spf=pass (imf13.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.187 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=1719388614; 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=rHlFWzIOYRP5CMvnazXP5xItUObXHffduz5wKcuQIiE=; b=wiVgEV/JMi3VG0eOcLlo1SYHbMsSwx6iksRdeKt2SZ4a9/YTnEIqj0FCGpPmjzfh5yg5A9 M0M4TKoQkHlJAXtQUavi/EWaEf2lcKTPD2u7jt0+dKpOT+gREqDwy1ZV9cdPSo72L7/fi7 bwR3trVyshbEO1xvjTISv1QnIIqXFIo= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=none; spf=pass (imf13.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.187 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=1719388614; a=rsa-sha256; cv=none; b=ITTZKrZKMvZfSKZ9fWwBe4i/d8BxnL+XdH8Y0P2V+wJjM/kGOXtuxjWaU0wBfYr3KaEprl yd2hy5Qfx5C6iD15JPUNdeNVG62knYcBAk/zCCu4Dm81H88ADYQVD5XIWw5pSQrlmezQoN 9eALypNKINvOjbikgZjDWCvMPzHXHK4= Received: from mail.maildlp.com (unknown [172.19.163.252]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4W8DSh4SGszxTqV; Wed, 26 Jun 2024 15:52:36 +0800 (CST) Received: from kwepemd200019.china.huawei.com (unknown [7.221.188.193]) by mail.maildlp.com (Postfix) with ESMTPS id 4AF72180087; Wed, 26 Jun 2024 15:56:56 +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, 26 Jun 2024 15:56:55 +0800 Subject: Re: [PATCH] migrate_pages: modify max number of pages to migrate in batch To: "Huang, Ying" , Zhenneng Li CC: Andrew Morton , , References: <20240624045120.121261-1-lizhenneng@kylinos.cn> <87o77pzuq3.fsf@yhuang6-desk2.ccr.corp.intel.com> From: Miaohe Lin Message-ID: <1ffa1043-673b-fdd3-a33c-444c2e99fc54@huawei.com> Date: Wed, 26 Jun 2024 15:56:54 +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: <87o77pzuq3.fsf@yhuang6-desk2.ccr.corp.intel.com> Content-Type: text/plain; charset="windows-1252" 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-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 03EC12000F X-Stat-Signature: 9bas7oj34exoh6nd1p6448of9axnkr59 X-HE-Tag: 1719388620-746234 X-HE-Meta: U2FsdGVkX1/KyjIqJJ+E2qTcANkC1AivVOYeIDuoJkUt0akelvksmTr/+Fpdku6NfMhzC4mHpEismZfHXONvViCag/fDvRIY3xhSQMKrALpFYJKtnrkLdGPBbZl+YYlOofh0DUsA+SkSZlp11bT8FihVD8yklHFWGucxvIEUsErGBHASQWfUJj+1nIM9rvigO/tPdJsl9tvXcFSsXuDQ03pU1EzD0gnQPgWUq05XcAA1OLyFVr6j2LpHzhzFfT1ZNdRKakzhGWJtjhRFGJmZqUpEp2XpBT+ubnu0f6dOLsAeEnmL5LeZELKLfjbXCZHc6D6YC9bb9jhVGnhTA7slHvFyUm9Kad0MC6J4GYibvOH/P3pHLJaKqVCTj29LIJwSz8wTL3w9CO7qyV/PWqmVSJ2SRKvCzePL2s8yJuFQf2lGiFHvDC2rVQkZ3GG2kYk424SWm/zpi7DDqO2gDAzkJi54xSpcW/Y8LCL6s9H2wFFhObDCdByo9d6WhRmjXHmluKRvumzeX2b2kPX+XzQFqOsRQAyf56qzYVsDtFhrfjtovbF1igvHt19ofhkrsZPGJ6RT/TjK85Hu3mtfpD/PB46NODdOrsr/Gw6vmMoc8kL8iI99iU85i1/Ry3qY8y9yolzByUPfkbycCUmox5Fw9SWdVpbjJvmCSkOsTT5jZykwtSfJF6lfdFDE7W61FkBjpUjV4eeUkpgJYPCCOqK0PijtjwcXWxJm66hNGcXYOOWuJw85plCVTKU8uWb0UN/z/DJfm7E17hNeu+J+LLMf0YllR1KnDKbz1tIo1/nTSlJBsUKSahdh1GMbPvS58MjvS6in5nUZjS6GJpDjhRv5hn2pH9FVIsdop3d5oNa0wWN2Yh1B4eoRQD2RhWy+5kP4pheIZz1e9A2vcJJJP4oKa06ugymd/RXEakPNEAYL8uMzy+VBSFfnL3vEXutVO++YNZpJtIYGJmMQoACQ0bA x/Mn2V5m v+SfExBcJDx2eYKl47AF4oi/oQ7s9m5+cFNMLNOAdKjpmVB+5WPABOFunVEmGJdNQgo8hnha5RpR6XQFU2FJQKrwaLn+C5J+jBOwRm1dnZeEEs19xSUFVzQkWj9Dqx5+ELSvmHO4AaPKtYkEAMd4s3FFekx+E86FNc8BJONEVm3QX/MqUokwsJ2xKmxijF2ezKNTEPFpjx1qhmWNhp/0PFZ1V8WiyaVfe2mTR/9rxjDYnWSrXMWkWSqQUizqSNQ7n0QvCGucsKcppXop5p6t2JPTazQ== 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/6/25 9:17, Huang, Ying wrote: > Hi, Zhenneng, > > Zhenneng Li writes: > >> We restrict the number of pages to be migrated to no more than >> HPAGE_PMD_NR or NR_MAX_BATCHED_MIGRATION, but in fact, the >> number of pages to be migrated may reach 2*HPAGE_PMD_NR-1 or 2 >> *NR_MAX_BATCHED_MIGRATION-1, it's not in inconsistent with the context. > > Yes. It's not HPAGE_PMD_NR exactly. > >> Please refer to the patch: 42012e0436d4(migrate_pages: restrict number >> of pages to migrate in batch) >> >> Signed-off-by: Zhenneng Li >> --- >> mm/migrate.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/mm/migrate.c b/mm/migrate.c >> index 781979567f64..7a4b37aac9e8 100644 >> --- a/mm/migrate.c >> +++ b/mm/migrate.c >> @@ -1961,7 +1961,7 @@ int migrate_pages(struct list_head *from, new_folio_t get_new_folio, >> break; >> } >> if (nr_pages >= NR_MAX_BATCHED_MIGRATION) >> - list_cut_before(&folios, from, &folio2->lru); >> + list_cut_before(&folios, from, &folio->lru); > > If the first entry of the list "from" is a THP with size HPAGE_PMD_NR, > "folio" will be the first entry of from, so that "folios" will be empty. > Right? If "folios" list is empty, the "from" list is left unmodified. So we will reach "goto again" and retry this ops again and again. This causes soft-lockup in my test env. [ 635.267324] watchdog: BUG: soft lockup - CPU#8 stuck for 26s! [bash:1031] [ 635.277957] Kernel panic - not syncing: softlockup: hung tasks [ 635.279519] CPU: 8 PID: 1031 Comm: bash Tainted: G L 6.10.0-rc5-00327-g47fd2329f867 #45 [ 635.279796] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 [ 635.279796] Call Trace: [ 635.279796] [ 635.279796] panic+0x326/0x350 [ 635.280827] watchdog_timer_fn+0x226/0x270 [ 635.280827] ? __pfx_watchdog_timer_fn+0x10/0x10 [ 635.280827] __hrtimer_run_queues+0x1a8/0x360 [ 635.280827] hrtimer_interrupt+0xfe/0x240 [ 635.280827] __sysvec_apic_timer_interrupt+0x71/0x1f0 [ 635.280827] sysvec_apic_timer_interrupt+0x6a/0x80 [ 635.280827] [ 635.280827] [ 635.282706] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 635.282928] RIP: 0010:migrate_pages_batch+0x780/0xd50 [ 635.282928] Code: 6c 24 28 41 89 46 0c 48 8b 44 24 70 03 54 24 04 c7 44 24 58 f4 ff ff ff 41 01 56 04 48 39 c8 0f 84 d0 03 00 00 e8 d0 5c fa ff 44 24 54 00 00 00 00 48 8b 94 24 80 00 00 00 48 8b 02 48 8d 6a [ 635.282928] RSP: 0018:ffffa76f88e57a00 EFLAGS: 00000246 [ 635.282928] RAX: 0000000000000000 RBX: ffffa76f88e57c50 RCX: ffffa76f88e57c60 [ 635.284331] RDX: ffffa76f88e57b78 RSI: ffffffffa7d1eb10 RDI: ffffa76f88e57b78 [ 635.284331] RBP: ffffdbcfc5000000 R08: 0000000000000000 R09: 0000000000000002 [ 635.284331] R10: 0000000000000007 R11: 0000000000000000 R12: ffffa76f88e57b70 [ 635.285800] R13: ffffa76f88e57ba8 R14: ffffa76f88e57bd0 R15: ffffa76f88e57b70 [ 635.285800] ? __pfx_alloc_migration_target+0x10/0x10 [ 635.285800] ? __pfx_alloc_migration_target+0x10/0x10 [ 635.286824] migrate_pages+0xaa7/0xd70 [ 635.286824] ? __pfx_alloc_migration_target+0x10/0x10 [ 635.287433] ? folio_lruvec_lock_irq+0x6a/0xf0 [ 635.287433] ? folio_isolate_lru+0x198/0x2a0 [ 635.287433] do_migrate_range+0x194/0x740 [ 635.287433] offline_pages+0x4ab/0x6e0 [ 635.288614] memory_subsys_offline+0x9e/0x1d0 [ 635.288803] ? _raw_spin_unlock_irqrestore+0x2c/0x50 [ 635.289119] device_offline+0xe2/0x110 [ 635.289119] state_store+0x6d/0xc0 [ 635.289119] kernfs_fop_write_iter+0x12c/0x1d0 [ 635.290093] vfs_write+0x380/0x540 [ 635.290093] ksys_write+0x64/0xe0 [ 635.290551] do_syscall_64+0xb9/0x1d0 [ 635.290551] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 635.290551] RIP: 0033:0x7f99f5514887 [ 635.290551] Code: 10 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24 [ 635.291480] RSP: 002b:00007ffe05712888 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ 635.291480] RAX: ffffffffffffffda RBX: 0000000000000008 RCX: 00007f99f5514887 [ 635.292980] RDX: 0000000000000008 RSI: 000055c97b961e10 RDI: 0000000000000001 [ 635.292980] RBP: 000055c97b961e10 R08: 00007f99f55d1460 R09: 000000007fffffff [ 635.292980] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000008 [ 635.292980] R13: 00007f99f561b780 R14: 00007f99f5617600 R15: 00007f99f5616a00 [ 635.294155] [ 635.294155] Kernel Offset: 0x26a00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) [ 635.294155] ---[ end Kernel panic - not syncing: softlockup: hung tasks ]--- Thanks. .