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 19926C021B8 for ; Tue, 4 Mar 2025 20:07:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 897B76B0082; Tue, 4 Mar 2025 15:07:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 845EE6B0083; Tue, 4 Mar 2025 15:07:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6BF326B0085; Tue, 4 Mar 2025 15:07:28 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 4E9F96B0082 for ; Tue, 4 Mar 2025 15:07:28 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id E8DCD805FC for ; Tue, 4 Mar 2025 20:07:27 +0000 (UTC) X-FDA: 83184953334.24.3C609AD Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2061.outbound.protection.outlook.com [40.107.236.61]) by imf25.hostedemail.com (Postfix) with ESMTP id 178B3A001B for ; Tue, 4 Mar 2025 20:07:24 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=hKLBT7Ib; spf=pass (imf25.hostedemail.com: domain of ziy@nvidia.com designates 40.107.236.61 as permitted sender) smtp.mailfrom=ziy@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741118845; 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:dkim-signature; bh=ER1ZmyeaGGL41nx+RF7JqMpwbgIZ/nGdx88Kr5dLRMA=; b=d4JL+xw/W2Ao/P38Vm5lCThiyz6YMUvpzVOby+j9zNI5U30BhOazl7daRFBH4x2U1tV2Pm msHmQnuIrQ6N2avNEOjq3RR/o0vXIUA7H2zRNoRXDO1r7AEgXa6V41OSXjV86vbFT91PWm GutRZuFLnNselUHT7PdShf34EclTP7o= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=hKLBT7Ib; spf=pass (imf25.hostedemail.com: domain of ziy@nvidia.com designates 40.107.236.61 as permitted sender) smtp.mailfrom=ziy@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1741118845; a=rsa-sha256; cv=pass; b=JUJEguJajQGvIQJKDeVixaoelKsrabeE5kJqmszGSkmlSDxOtUFkInjHsEptp/PPFkeKJx Ki/Mm9wypob75njX/1nQ3m0DZuibz+KIbd+uFW+jEFEI2gpkSZ+ziw8bvY0nq+iyJxjpr8 qItoczYYeAn8ODJrgDbSOygAfVZLZvs= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cf7yjJnPtAHaMLyt2YOIxnOJz8f3zlwPamz5nE7r10bv5XyOZ5Lnue0ouh4twypeGv0+uIfJ4Y8Vmf7MLo+VPtvi8RJjdcCPHfjLi0WjaxKE6ZCSU7V6ZxkFfEkMDFSiJMgoReQ8a/cHItr3phXVaM7KxaupnMAKJM0/p9bVyfX0ygOGULFKREm+WP5Y4M3B/fnLnIWjLYx4cp+mwC8C4ho0qlBC6w5lX7LtRycO1tjBfGn3cpgZA6VDoaS0v+FJQ0GDaXrfaJVTE/V6q8lt1Z1WOlBCfwOyh9s/KNlbK7kUAEe7/QU9J+WcVtitdsDDcSy+IezltFW9kC8mFMT54w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ER1ZmyeaGGL41nx+RF7JqMpwbgIZ/nGdx88Kr5dLRMA=; b=FFlTwBzTcOJ2/mq4dJGUCWhT9ZBX/nyOHPQz82UHBy+2JwgMS6lNrfM5VMNFcER72ocLs3XWNGIM0+1nH7WgY0Y6y2ebaRE5JWq+lSkQZU0EF86g83f4XbUEuhupuh/nncMMsOnkiG25x8BlZ8C8OzJxH0wwgUO0XfZQUv9FmYjV44xHFr3qgcZEeaWlXOrWsVz2h2aqtzRwoTCfqj4g4wmBOYdCUnPYYp4iCW5y5CZ2q9FMmM3GZgbr0AZtYOxAFUxQY1M2LsxSINo9BRdws1P32l3yvh7A766xSEMEou8kGVfBG7p4eDW5ybtlwaBVWeBs2i/r0FCIiGQlUHKWzw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ER1ZmyeaGGL41nx+RF7JqMpwbgIZ/nGdx88Kr5dLRMA=; b=hKLBT7Ibj17vmg5JIyNoW1fKC0ARUB9P1oDaH2eWNsy6HYpP9oViXYvhqt0Bc1qXZ2wa9mCZDJ4yTccZkw5IZhTrd8g+31NvbnH1x2XRDAXlGQp9ypULZQG22E/843vnJCA/ySgLjqb9HLYhISBevMU3nprCtywuPM7uzO6tZpzGpr2LwoqmceciKLQQLtGZsuM6lQ6C54R9abrGxAtvFMsIc/22nywnGOBdG+P6HZQBujiP1V0b6aFPQWWsi3U8nGBt0YJYmomt7uYcf3PEIOWatn/Gp+GSrplquyZtniqlTFAfSAeIX+46qQL73q2C3YPV3RVkH/ogClUWhqf8/A== Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by LV8PR12MB9449.namprd12.prod.outlook.com (2603:10b6:408:204::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Tue, 4 Mar 2025 20:07:19 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%5]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025 20:07:17 +0000 From: Zi Yan To: Hugh Dickins Cc: Liu Shixin , Baolin Wang , , Andrew Morton , Barry Song , David Hildenbrand , Kefeng Wang , Lance Yang , Ryan Roberts , Matthew Wilcox , Charan Teja Kalla , , Shivank Garg Subject: Re: [PATCH v2] mm/migrate: fix shmem xarray update during migration Date: Tue, 04 Mar 2025 15:07:13 -0500 X-Mailer: MailMate (2.0r6233) Message-ID: <8A4FCFDC-E75A-47B7-8D0C-8874C25BBEF8@nvidia.com> In-Reply-To: <0D97A437-56A9-4C1D-9759-EAF1F7DA5AE7@nvidia.com> References: <20250228174953.2222831-1-ziy@nvidia.com> <23d65532-859a-e88f-9c24-06a6c7ff4006@google.com> <0D97A437-56A9-4C1D-9759-EAF1F7DA5AE7@nvidia.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR08CA0024.namprd08.prod.outlook.com (2603:10b6:a03:100::37) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|LV8PR12MB9449:EE_ X-MS-Office365-Filtering-Correlation-Id: 95da348a-d756-41c2-f259-08dd5b5829d9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bks5ZnhUMy9kRzhPVmpHa3htcVdya0hkdFpvam9WVlY2ZkNSTGJLci9Oa1Bt?= =?utf-8?B?TlpOS2YxK3BzT3VPblN4N2FnN3l4WENLdXZmalVSNjJXdU95OHpGMzI1L3E4?= =?utf-8?B?SDAwZmRzTG1XWHJ6Q3FEU2QvRE1aaGNKQmQvV09PQVlsanJjSGFST2NkcmdY?= =?utf-8?B?QlFSTkh3V2xTdmRIcmQ5elNKamhZRytFVld2VG40a2NuNlR3THc3MC8xYy94?= =?utf-8?B?aCtSL1Qxc2grVUJkaEpWYWxtM0EwdU83dlZ6UnBIYUlSTG41dGI1VFNqYWZy?= =?utf-8?B?V1hhd3Y1UitQZVZuUTNPV2dYbTdWSWNhVytNVEVKNjUyMnovNVB6TmkzSnJY?= =?utf-8?B?aVV1MVhLNWtpS29rcnBrdzVObVJnVVFZaFJsNjhTcE5UWCtSdkc5S3laSW9p?= =?utf-8?B?em11aDN4Y0JFcXdHNkZ6MXl5Ti9tV3lnQlB3M1lEckxtZEl0L2ZCMjlMRmI2?= =?utf-8?B?eXNRZnNHRndTTXVDWWJMRENxU3pZQ2ZLZEF2OERpMWc5Wk54Y1M4OU4zZDJI?= =?utf-8?B?Z1FCcDBMV0dVRmJnMG5aYnVsS05NZE9MSXNscldLL1lkcW5IbmZaVDY1NmlP?= =?utf-8?B?TmZBak1KWXNwdEI2bHp2YWVYWktYOExSVzJHNjNkc3Y3WkVYQkxmY3NlTWx6?= =?utf-8?B?UWlyRm11Njd5WVBkZ2JGVUNLekhCVndTTCtFSXBJZVlwZVNMUUlJVzJmQ1Jz?= =?utf-8?B?SndVdVVLbUt6dUV6RzFuL3RkQ2NXMFpBb253WDlvOXVyMlpmN2VHREpHdDlq?= =?utf-8?B?M0dSallNMzVHSjhDdm44SG9aM0RyRGRLSm44NXB2TDljNTlGOWE2cGluUk53?= =?utf-8?B?OTFzZXJkVkVUM1IwM0FuOTlrR2xRWnkybmpHZ1VZNURkc29FT0N5ZGFRL01Z?= =?utf-8?B?bkVPeGU4ckNnZFVhN2ZpWU1JL29MVDlPUnRiNy9HbVE5ajhObDV1R0NhTi9w?= =?utf-8?B?WlRzSGlyR0FDeVIvV3NqN0dqRmdXNHdGUU9aNUZ4alRGbURkMVg3WitIWncx?= =?utf-8?B?b2JQU2djMEtzNWdGVUYydFBhMGdFcjM1bHVhc2dLNk5tOHVrLzJiZ0Y1eml1?= =?utf-8?B?UlIxRFltM29kV0JKN2U1QWlheUdCdFBscmdUcy90dU55cm1sandmM1NsUE5a?= =?utf-8?B?OFE1OGJzem85Q2daSm5CSmRKbERkbVlVV3lzYWY1cDBrbklYVzh3VTF0RGVI?= =?utf-8?B?Wm1BOHd6U0RIRVJNYk1FWFZvR3B0YjZDL1lsYkpMWTM0T2k4eE91R01saC9y?= =?utf-8?B?SmlzMGdkZGlheHlFcVhMcHpqd2h2MkljT1FSVEVNRXRNaHpJNWxTWnFsTllu?= =?utf-8?B?OWtUVkdheVpNaVdXRHBtY0tBWlJTdXRPSjJOdHB4R1pKbk5UZlNoUU5Hdnls?= =?utf-8?B?TDc5WGY2dmhCdkN2RzY1WUJvZGV1a2lwc1lqNUk2dkUvV205ZnlJeXhnQkgv?= =?utf-8?B?YkpBZ2hOemJseC83UVJicU9VanU1WFBrc1ppK1l0QkdzZ1J2SU84bi9yeGk0?= =?utf-8?B?NVU5Y1RzNXN1cm9nYzNBWk54WWV4TTFyODVZMlNZa3ZsY1pTczJUTHFNUTdu?= =?utf-8?B?UW9zbWRXS0FCUmcxS1lUMzNWQkppNWpmWU1LRWZUS2k4RXJVcFY5M1JaSll4?= =?utf-8?B?UGFNUndXdlFZb3JTZzZRS2M2YjFORkZxbm1vUVRvczNJdzNTZnNEUDExSGc3?= =?utf-8?B?Z2tFd1FuUUtNL0poK05OZE52MjYrZnU2Q2hNQ2YyNkRpRnBZR3ZSNzByZGZY?= =?utf-8?B?QnRWSVdmV2VLenloQnpNMGc3eVJJczduSGFrWGExUWduOS9aWjNIU1N1dUJC?= =?utf-8?B?cnh1MGg4MUs0dmVLM3RUaVAzNjkzS0JTQ1lLWFFHMFMzNFgvMGlqazBuaEV4?= =?utf-8?Q?RjSbEmHWignin?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB9473.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VFRNb0JidVQvRHpJN2F4OG5ld0E5RWpFRGxWVXZGR1dhSHlXQ3FOeUdiSjJ0?= =?utf-8?B?ZnQ4UG5tRmxHc3duMUR4V1ZJd3BYa1J1WjhyM0tSOVBPSnprd29kcjl3ejND?= =?utf-8?B?N2U4WVA1TVY1NVU3VEI0cXhCOHpJa3gyOHpYTVVYbVhMVnpMMWZjM0dkaEZV?= =?utf-8?B?ZXg1bmM5ak5wSmlZUWtoMmVFb3VMZXhLYm9FSnJUa05iM0gxNm9KdGxuUDE4?= =?utf-8?B?UlFMMHhpcWE3bU14cWdQUGVYa3l3enFJZFdUK1hnQVhMZGZ0aXNhM3lsNXdO?= =?utf-8?B?T2toYW9FSUtIT2R0MCs1YWtrK0JFSklERWQrRms3Slh1UGFMNFRLaG9uZUx6?= =?utf-8?B?U0Yza2QvSC93dzZoSndLNHZ4UC9aaDN3TVdrTlZlNnJNNkNRV3BmMjVHb3Fz?= =?utf-8?B?SFVid0JLZEw0STRwVVBNQkNWdUlJYUw5RGhnUnpqZUhCSWM5eEdpTWhHOUR2?= =?utf-8?B?L280YmpabENyZ2FhNkpiRVdQeURQdWR0NmZnTlhoTUZaUE5LYS9hSUUvMjZp?= =?utf-8?B?clY1UWpRanhvR1RRNWZkR2R2WERtWWl6cFM5TFJxYmViN04wZnZNY2d0UkNG?= =?utf-8?B?WnVDcDdBd0lRNk1UcXQydUxxc3VYMU1ScU5oajM2UGtNMXhHSG8wbHJBZHFu?= =?utf-8?B?dm1qVE85NUE5eEk2RjBQeVBwdmRjMDlCWDRkajA1bm10OWJ4Mm1QZ3NybDlG?= =?utf-8?B?TWtGMkVabWQyOXNoWFE3VkxrTXl4TTEva0Z1L09IcVVKbmFBbnBSUHhza2Yx?= =?utf-8?B?N3F6NVJyZTFtMVpzRnpSdHVKNCtOYXRxZmJUeVUxSnJVY0VPZWFLNUg5N0RC?= =?utf-8?B?eitaUmJjYVQrbkl5Yzd1SWtaVzZlSDZsVUw3czE4emY5ZmwvVHhQYW9ZVnRJ?= =?utf-8?B?RS8xUElvMWhGUk83T292ejRsOVY2U1BtQWlXOUhLL1FQUGcyVlJRbnZ5SmtS?= =?utf-8?B?eldCSndsTnN4NGQ2VG1sY2FwenljT1NCdE0vSnVYNmg1eCtXV1FxMjRBcm53?= =?utf-8?B?Z1NJVmdBQ0RUZTFKQ1pZNWRkcm0zM1Jkem5jekZhK01BTnhSSXVrUHIyam5T?= =?utf-8?B?UUxMaEJ4MldrclR3ZXQxeUFrUFo5WUNLNktVZ3l1cFlET0k0cjFhc29hN25n?= =?utf-8?B?TkpzTDlIbUg2Y3dlVmhyRmVQeGlGVDFYVUJxREZ4OFhsVGJuV0Z3MkFKSVlm?= =?utf-8?B?OVFHSG9TNzFkSTNseXZ4OStJMEdkRWhvQjJZc3ZXRjBDdEpzSE5LeGlKWDBZ?= =?utf-8?B?ZE1JdGczbEF4cFVWaXVOb1JrZlFSZnY0WXMwRXVvZjRIR2Z3WG9DaG1pcnc2?= =?utf-8?B?WkRvWVVuZFR3UmJCdlY0MGU1MFpjOVNyak92QlJOMGtmN0dxWk9COFUvc1JE?= =?utf-8?B?RkgwdE5aWjhMR05VZ0xJSzJGc1B2S0tJWFJMRjFSN1p6VHoza2lpYkV1b21P?= =?utf-8?B?TFVqdFdISk5sYnBkam5kR21JbVV6MHJacjExSFI2Ujhld1JPUTJURmVtbmpF?= =?utf-8?B?d205OXBreFo5TzJPSWV1eVJpSlErN1JwMnJRc0dCS0x5SzIvaGJicnZxYS93?= =?utf-8?B?bjNadDRPZm9UWDRuZWRtZmVYaVA2dVB1NThKd1VWNm1Kd3M3c3pkdmk2RE0y?= =?utf-8?B?d1daYTRQRUZwOGJ1VWFrZU02T1hQUWNOb2xNM3E0MVVTU1MwQmRINmdtUjc0?= =?utf-8?B?SFU4RXNOYU5UOWJsdFFqcFBjWGhqUWFFaTJqc2JGTE0xM3ZlR0xLT0JOUnhT?= =?utf-8?B?aDhMaGNIL2U4cWRFWDFkUzExRmVsK1dhWkZFU1FhQlNpWWNlT0NJbXRsaisz?= =?utf-8?B?UHRhbVpIeGVvZVBIV1p4d2dqaElXcFVWVGJUdG44RkVrMWdWbUpHajdyUHBx?= =?utf-8?B?UVhpNjBsSXVZQ2ZYRkROcW9sc1lnM2NHbStzVXVkSE9PTDBJRUs3dVYwdkk3?= =?utf-8?B?VFJjc1V6RGpmRjlhdkJpQ3NZNExSNnZmSGY3UlBZRXVuVllGenc5VzlobGhl?= =?utf-8?B?M2VQZDYvQytjdHk1ZWl2c3hPd3gvSEcyLzR5SzB5YzdsOFFlcXozWUt0dkIz?= =?utf-8?B?R2JHakQzUjFQU0pmY25jYzd4cm94RnJJTjlUVHduZVdUNFk3U3FqWS9xZkxj?= =?utf-8?Q?/RPE=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 95da348a-d756-41c2-f259-08dd5b5829d9 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 20:07:17.5732 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 40jSdk9Eg9xhZRK8rXd0iyPh5ZTs1WKX0jhuogLUuhqNXOUpH2J12h7rCzX6IDAr X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9449 X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 178B3A001B X-Stat-Signature: 3wqpfti477r31bfey93ir3rxdrkuypwy X-HE-Tag: 1741118844-767826 X-HE-Meta: U2FsdGVkX1//vBQORdU72nJJLOx2TxYB/miHDbiycVmD6lZYqwkUUhfxtuQdX0DdFHhKcUfQOT6CdzBLF6lY2/9CMAuT8RUJ4hq4EKOkfHRGy5eklYFHw2XO6gKB4cUcSUePiiHBklReYXBHRgmo56reWReJ3BPJh/QEIKVMIOJEYlvOOLn87dtLCYyethmJVxjdCr0Ke3SH3YiF8G5taUblKWFuxPn/cXxA6Z1zKBNdMkfMFLVnre5UcmoNimdD5kIt37Tf6iwbJ/hMMQ0ZiTnuBYu1EGlpXnCNsM55nf+ChtcgjVR0M/gtB2LhK9eAx6o5Z6+aNiU8LMydrv4M/2ny6LEU9j/42Xv8bvItNj7DzR9m0g0IgLOOIjJUQ1v5WVS6mjOUjfml2hJ5sVlmq9/vS6XgKdi5VW6yBduxNm7EJM7kF59xigBwymO/KIaOSYyTqUfQ+/BYuDg0mmkMpppDa56Rb2IJ5ihdeJeuptR0uSbspQCis/+vFUzLMv4AzhZD5tBDLbuahTELXLf3hiRgnMFQ/2ogEb0hlHiSEH9HQb3xWImnwUK3PX+K+xMcSPEHgJAtrxmwcMltUAitaUWlySqfVPZk37S8IDrG3OOXrSyzjfovahwSZtC1ya5jAP0adFFc/nicj2adF7Yfzqh3YlLM2fihyFrT8m8TFMcZK0BYbPE+cxyDLOEkZhJWmqfsDFnANGPHrEjfoSYAeNi5bwGJjcXhVibJnguiKVT50VxmDMzZ2FKsr7JpPfKkwDCL62uLdAgaG5bwYuHB3nlrYHQSL0U0b/C2+/ND2TsrF1ZzE5rqH56EPYFKV7fDPoiVQCqo4eH5POF29n/wCwz+EwknnC8wzrGahH2+edY0TcbtdLkTmzaaaIjJVDhRtTeTDUpA/Teo6H1aqYFKbYt9t/D23rqMb4HQ/1jxvWMDaan3GzcIWfJtMXopL+EtBZYwROvAIeHYQyyOTjr C9T5mXkh Lq9tpZorfe39dpNVvsy+t19kt/PrL7e7mQTNTTeZRaidB1fR7lldnOQJ5xn6fp3V3Rt7So+g1GOa8pI4VLULEQld86fMSG/tDFf2/QXaVu63Vfi84sNHknBhnMXLWMDhs7TlfLcB8J7It/vOmxcytv2ZSzpftjW/wPKp9uCQ1YKKs2wi1dYUutpmnvHzi3TJSyE7PR41GzO0lt7+IxHlFNLUyX4QXOkTq7FuoJsIjxlWUBQromFApRKOK3BERE0q2TaUMSI+CcAJKFjrC10rLqREm0VsFfT0oLaTAIkWUQJtpWDKwrI9YoNQYIavEPS/8wIPJJVTZMEZQit+ZOm1KFv2rdaE406GZ1WJm8c6J8Im33AutrX2m4GtPVWPgFW8mB9j3oV0nc3vgkSnUNGvS0z7WnnEaxAzos1uQlQRafRDd6+wl+hnXJkXF9UjHzWkPRBriq3Z5xiDExz9/lzdmeVR3xg== 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 4 Mar 2025, at 12:18, Zi Yan wrote: > On 4 Mar 2025, at 4:47, Hugh Dickins wrote: > >> On Fri, 28 Feb 2025, Zi Yan wrote: >> >>> Pagecache uses multi-index entries for large folio, so does shmem. Only >>> swap cache still stores multiple entries for a single large folio. >>> Commit fc346d0a70a1 ("mm: migrate high-order folios in swap cache corre= ctly") >>> fixed swap cache but got shmem wrong by storing multiple entries for >>> a large shmem folio. Fix it by storing a single entry for a shmem >>> folio. >>> >>> Fixes: fc346d0a70a1 ("mm: migrate high-order folios in swap cache corre= ctly") >>> Reported-by: Liu Shixin >>> Closes: https://lore.kernel.org/all/28546fb4-5210-bf75-16d6-43e1f864608= 0@huawei.com/ >>> Signed-off-by: Zi Yan >>> Reviewed-by: Shivank Garg >> >> It's a great find (I think), and your commit message is okay: >> but unless I'm much mistaken, NAK to the patch itself. > > Got it. Thank you for the review. > >> >> First, I say "(I think)" there, because I don't actually know what the >> loop writing the same folio nr times to the multi-index entry does to >> the xarray: I can imagine it as being completely harmless, just nr >> times more work than was needed. It seems that you are right on this one. I am trying to reproduce the issue on mainline but could not and I did see shmem hits the entries =3D nr= . So it is likely there is no bug in mainline just inefficiency. This fix might just mask the bugs introduced in my folio_split() patchset, since I reverted my xas_try_split() in shmem_large_split_entry() patch and still hit the issue. Let me do more debugging and get back. >> >> But I guess it does something bad, since Matthew was horrified, >> and we have all found that your patch appears to improve behaviour >> (or at least improve behaviour in the context of your folio_split() >> series: none of us noticed a problem before that, but it may be >> that your new series is widening our exposure to existing bugs). >> >> Maybe your orginal patch, with the shmem_mapping(mapping) check there, >> was good, and it's only wrong when changed to !folio_test_anon(folio); >> but TBH I find it too confusing, with the conditionals the way they are. >> See my preferred alternative below. >> >> The vital point is that multi-index entries are not used in swap cache: >> whether the folio in question orginates from anon or from shmem. And >> it's easier to understand once you remember that a shmem folio is never >> in both page cache and swap cache at the same time (well, there may be a= n >> instant of transition from one to other while that folio is held locked)= - >> once it's in swap cache, folio->mapping is NULL and it's no longer >> recognizable as from a shmem mapping. > > Got it. Now it all makes sense to me. Thank you for the explanation. > >> >> The way I read your patch originally, I thought it meant that shmem >> folios go into the swap cache as multi-index, but anon folios do not; >> which seemed a worrying mixture to me. But crashes on the >> VM_BUG_ON_PAGE(entry !=3D folio, entry) in __delete_from_swap_cache() >> yesterday (with your patch in) led me to see how add_to_swap_cache() >> inserts multiple non-multi-index entries, whether for anon or for shmem. > > Thanks for the pointer. > >> >> If this patch really is needed in old releases, then I suspect that >> mm/huge_memory.c needs correction there too; but let me explain in >> a response to your folio_split() series. >> >>> --- >>> mm/migrate.c | 6 +++++- >>> 1 file changed, 5 insertions(+), 1 deletion(-) >>> >>> diff --git a/mm/migrate.c b/mm/migrate.c >>> index 365c6daa8d1b..2c9669135a38 100644 >>> --- a/mm/migrate.c >>> +++ b/mm/migrate.c >>> @@ -524,7 +524,11 @@ static int __folio_migrate_mapping(struct address_= space *mapping, >>> folio_set_swapcache(newfolio); >>> newfolio->private =3D folio_get_private(folio); >>> } >>> - entries =3D nr; >>> + /* shmem uses high-order entry */ >>> + if (!folio_test_anon(folio)) >>> + entries =3D 1; >>> + else >>> + entries =3D nr; >>> } else { >>> VM_BUG_ON_FOLIO(folio_test_swapcache(folio), folio); >>> entries =3D 1; >>> --=20 >>> 2.47.2 >> >> NAK to that patch above, here's how I think it should be: > > OK. I will resend your fix with __split_huge_page() fixes against Linus= =E2=80=99s tree. > My folio_split() will conflict with the fix, but the merge fix should be > simple, since the related patch just deletes __split_huge_page() entirely= . Best Regards, Yan, Zi