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 E9170C8302E for ; Mon, 30 Jun 2025 08:40:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8DF106B009E; Mon, 30 Jun 2025 04:40:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8B63F6B009F; Mon, 30 Jun 2025 04:40:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 77E1D6B00A0; Mon, 30 Jun 2025 04:40:46 -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 61B9E6B009E for ; Mon, 30 Jun 2025 04:40:46 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 87DD7121372 for ; Mon, 30 Jun 2025 08:40:45 +0000 (UTC) X-FDA: 83611421250.20.7DC915B Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013027.outbound.protection.outlook.com [40.107.162.27]) by imf28.hostedemail.com (Postfix) with ESMTP id 6EE73C0009 for ; Mon, 30 Jun 2025 08:40:41 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=arm.com header.s=selector1 header.b=e+BCBt5G; dkim=pass header.d=arm.com header.s=selector1 header.b=e+BCBt5G; arc=pass ("microsoft.com:s=arcselector10001:i=2"); dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf28.hostedemail.com: domain of Dev.Jain@arm.com designates 40.107.162.27 as permitted sender) smtp.mailfrom=Dev.Jain@arm.com ARC-Seal: i=3; s=arc-20220608; d=hostedemail.com; t=1751272842; a=rsa-sha256; cv=pass; b=6US8RILGUEKBZ+t/Y29Q6R7ExCoviIw0i2GFQyF4S9DGGYRii/Kn90ee/vhFNZsmFwgkF3 m93v6KZdNnGoT0iPWnu+Dsr7XsHDNq6BQrlsgd02fLoSSht8TcZakQ/m70XpIWcBwYwiKt NLoJ7GPyagFJstgYpp7zxZLWAPgfQlA= ARC-Authentication-Results: i=3; imf28.hostedemail.com; dkim=pass header.d=arm.com header.s=selector1 header.b=e+BCBt5G; dkim=pass header.d=arm.com header.s=selector1 header.b=e+BCBt5G; arc=pass ("microsoft.com:s=arcselector10001:i=2"); dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf28.hostedemail.com: domain of Dev.Jain@arm.com designates 40.107.162.27 as permitted sender) smtp.mailfrom=Dev.Jain@arm.com ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751272842; 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=qbIhHPEngVz0ix8q6zG+CNN+eUfubdeXQYxJ7ah+imY=; b=Ux0Wm3aUnMQ6Y/ihREX7wKDlqUDDyNfO1kJ9rBoqUVGUMrl51OkZSX8BtRn4/U3yoQGLhf 5Gbccxu9g/PV8l5QQC3qRm4SdTlpbKim1ejEBlopwcwXLp7rDLuXMv7uZexM4+GmAjQmsz glUPhGP80DQ+6Crqy4N3ArgNJ2t5HvY= ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=bZpFHlV1etdJsz1tECqR0ljtSNpeor3wUL1GJeiErpAsLOvM+wVOEnHYndCHjG+Fj3GuHO3cF/LLZWiVot7vqPvax2zSqTCNgRqESbjj4iUoLsfWsxN+qt6WTX8BEqc2NdcWnx+QIthFot4XbHw23H32FfykB9C4H1W/v4LbbNDD3GcqQ1AyOuZpeZci1GFA5hcPhJysHxy2lyWhYzIbdJIWjTNFUkNdJpIglQwwb+IYbGU8TWY+OJeD2Br9YoRx1dOyJIcyTTRc9L6KGYE6P3yXauozR5OFl6YMX476DpR3JE1Tjmead7hrSZ5Wapvi2IvOep+IcSn3YbHOfmL5zA== ARC-Message-Signature: i=2; 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=qbIhHPEngVz0ix8q6zG+CNN+eUfubdeXQYxJ7ah+imY=; b=k5lrt+z4cgqpzHbDNxTd+sMtlD1nGhJKiQreosfJIAPZgaE0pposioLPg6yR8/yTu+XWqXq6Z7nyh4TzdD509eLFB8+ihx1UkiAXPhrTEiV2PmcHDt7YtE11XXBVIMQ8G5inhx0bC1ax2CwBB3x28yJQNC62FXLDd102Tfa8UMFL6fZr7ntGXeYUEtuaZ9ZSV3FLXJQYs1zK8LscnnFMaymxK+ux06veoa+rEE5Emy0Jn6ZF9+JDFH160lEPYGNVyFZoTRq6KgOTRVbTC5eVfnJxU1hIuZsZQMhD7yil2uRfEdLbJZmVBBmTWLYf6O2h+UQ0MVhQxKuObh+GsZty6A== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=redhat.com smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qbIhHPEngVz0ix8q6zG+CNN+eUfubdeXQYxJ7ah+imY=; b=e+BCBt5G201iQfIAQtGGvgcVHj5K80LHyOuRKNgKyvdelN/ZwVCuqva9+6ElqS/Pl79TZwmR4Y8YfGFdNkl6zKwClbPkDrmjrmn6kSu9ihxjSbi7ytgh3ud2NJMzQph1CdbKwzQrdeaaZeo2mRmlVrQyL1Mvmsb5dzJJIy3waM0= Received: from AM0PR02CA0175.eurprd02.prod.outlook.com (2603:10a6:20b:28e::12) by AS2PR08MB9785.eurprd08.prod.outlook.com (2603:10a6:20b:606::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.23; Mon, 30 Jun 2025 08:40:31 +0000 Received: from AM3PEPF0000A78D.eurprd04.prod.outlook.com (2603:10a6:20b:28e:cafe::29) by AM0PR02CA0175.outlook.office365.com (2603:10a6:20b:28e::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8880.28 via Frontend Transport; Mon, 30 Jun 2025 08:40:31 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by AM3PEPF0000A78D.mail.protection.outlook.com (10.167.16.116) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.15 via Frontend Transport; Mon, 30 Jun 2025 08:40:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TlHxQayOrkzc3pP5/LqmQsMJ+BZVmhogduvwdk6eLiURFsPxyL6L3SOepdKc/yxC6o+d5YwDu1xtff/ItLI0oTCLymjYc+b7UkvPRAXWQ+dSbIZKL8Axsjytj9cKqXsKGXaiLfzLOqWNufaUI3NyCbPEsEPVD9Ucjo+lrudQRSa8pGwcFGNyAYTz6JqOYcEFqrauDUPhrKiz8L2oFVVASxxYb3VkeKYpx014vRRMneB+Ft5PgQRcXYsqMd85FGlnsn9yJ7/4XWg+cqXVNtG4i9dfdFqN94hEo9swkV58vMyKSmpLGdapQ+H70WpJfgjkKR0fnHgMo5QlojkD0OYxcQ== 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=qbIhHPEngVz0ix8q6zG+CNN+eUfubdeXQYxJ7ah+imY=; b=bGFYCAOG/wvWdF6CuOC8+giJyoKB+xfsxBidkB4GJ6MwLyEyhdsCVdLlAjjd094LbcIfoo4CQGR39qNuCmSIIWCpez+iJ18OLFoHIJJ2jOhuIssWLf6zkc1kTtf28eSiSLwL5eSP4Znh7V4rMJsMt5YXVYr8YIUG47+SgntiluorWYE2tE9L3UcavzliJKCbpwcwZZt+BCjZAOHM28Bz0HFoKrAuGaRYk+MSw1MVWufYocK97GGePYTxwUC1s76Fa2dgdhkbImqAjS7CSzZToMlKF5qwRHF3M3wUwp+YGgJ+BhOXsvhOorpGgkRv1nwnr8DEhfL3DT6k6X0MrWs7gQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qbIhHPEngVz0ix8q6zG+CNN+eUfubdeXQYxJ7ah+imY=; b=e+BCBt5G201iQfIAQtGGvgcVHj5K80LHyOuRKNgKyvdelN/ZwVCuqva9+6ElqS/Pl79TZwmR4Y8YfGFdNkl6zKwClbPkDrmjrmn6kSu9ihxjSbi7ytgh3ud2NJMzQph1CdbKwzQrdeaaZeo2mRmlVrQyL1Mvmsb5dzJJIy3waM0= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7120.eurprd08.prod.outlook.com (2603:10a6:20b:3dc::22) by VI1PR08MB5519.eurprd08.prod.outlook.com (2603:10a6:803:133::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.26; Mon, 30 Jun 2025 08:39:58 +0000 Received: from AM9PR08MB7120.eurprd08.prod.outlook.com ([fe80::2933:29aa:2693:d12e]) by AM9PR08MB7120.eurprd08.prod.outlook.com ([fe80::2933:29aa:2693:d12e%3]) with mapi id 15.20.8880.027; Mon, 30 Jun 2025 08:39:58 +0000 Message-ID: <2d6ee500-cfd6-4d41-9e83-fa26aa48af02@arm.com> Date: Mon, 30 Jun 2025 14:09:52 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] khugepaged: Reduce race probability between migration and khugepaged To: David Hildenbrand , Anshuman Khandual , akpm@linux-foundation.org Cc: ziy@nvidia.com, baolin.wang@linux.alibaba.com, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, npache@redhat.com, ryan.roberts@arm.com, baohua@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20250630044837.4675-1-dev.jain@arm.com> <786c83e0-d69f-4fa3-a39c-94c4dfc08a20@arm.com> <28bc843d-615f-4848-988b-31a0a2921d14@arm.com> Content-Language: en-US From: Dev Jain In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: MA0PR01CA0063.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:ac::17) To AM9PR08MB7120.eurprd08.prod.outlook.com (2603:10a6:20b:3dc::22) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AM9PR08MB7120:EE_|VI1PR08MB5519:EE_|AM3PEPF0000A78D:EE_|AS2PR08MB9785:EE_ X-MS-Office365-Filtering-Correlation-Id: 88f0fedb-5b69-4ddb-48c2-08ddb7b1c59b x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|7416014|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?NXIvUkp3VDNERk9nbVIwUi91MVJadW8yaTg1ejZxaXlQZTBNekpxMDJRN2I5?= =?utf-8?B?L2FZL2JiSHBwSjdqQlJlZGU3a04zdlBNZHpNaXNhT0xRS3VUczFxb2hmUG9B?= =?utf-8?B?ejFRaE5mN0crSjIrSVVzQ1QwamlrdTFyWE02NkRaeUNiSnVLdHZUV2lOZThh?= =?utf-8?B?bG1NTEVJeUM0dkkrUzFaV0YxbzZuU2NuSHROWmxmVVNYZmY0QnlJN1pHSnRh?= =?utf-8?B?WkhvdDlEUkp1U21TMGUzSTJqdVJjZXlRekg1OVAwV0NsakxmQUFqODR3MXNM?= =?utf-8?B?RjI2aFJ3TDBMMkVDcHFFdWpUZmJ0V0F3dWFnS0ZKU04rbmMxQnVXNVh3VFJi?= =?utf-8?B?VG82TXdvb0FRNTBPN0o2U2hDZm9tOWlFMG5LbWtVUERvM2o5RjdIS3R1dkky?= =?utf-8?B?RmdiOGVQdE43VmpwRExueENlQ2pEOEFUNUdDcjdoUXo1b2djVXlKQ1FrdU9V?= =?utf-8?B?TzVXLzQvb0w2WmdEaWFOZ2dnRm5VWVN4VGNzVWhqRVlNVzhWcXU3M3I5MFBH?= =?utf-8?B?VFlKS29yakpFSmdVRENLMmdQUjZOWkkxcEQwZTRTcEZ1VkRQdmVicTlNYnF4?= =?utf-8?B?SzM2RndiejUyem5aMHJ1QUZ6VDZnOUhxbTcwTTNvSDNpMXQzYjZ2UlFjcXdS?= =?utf-8?B?TyszY2dKZENrQ2QvWk8weXlnRnpDZkRnV1JDcnVhUW9KVHdwdmdZSnhBZGNn?= =?utf-8?B?M0wrRXowYkdBS2orQzdoVTZydGxXUllpa3V2RFBzTkNleW00SUhudHhJWVZy?= =?utf-8?B?SSt3cGlxZXgrMDAwczg5NUhsNTJZcUQ3akUzZVgxODZOc1l1WitQcnIraXZn?= =?utf-8?B?d1VtSzhLQzVxWXMwcVAya1djWDlqSW9NSGM0K3BDb04wS2FUMWIrYytwbDBr?= =?utf-8?B?V1hNS0Y3MVUwdGRERU4zL25zWXVOV25hQTRBWE00cGhyZnJhdkpCdmtsU2tj?= =?utf-8?B?OStwTGphR3pkWGpTaGZmVTJOTllLVVEwOVRTWk5EbGhKMUkxVFRZY3lvRlBT?= =?utf-8?B?RVR6MVc0YWVwaVRaVFdMVVgyYUcwQnkyNUNnRXpKR2ppQmRxWXhRT3pMSmQw?= =?utf-8?B?em5SZ2Y0RFFZQUR0T2xmNWpyWFJCdHVaZS9ZVkIwekF1VjFtRThBLzh2UEZH?= =?utf-8?B?a25KZ0g4ZnFCeWZ4ODNBbDhObkFEazhmaTVDaUZ3Zi9vaUluazlDYlMwSkN4?= =?utf-8?B?UVpIWEkyMTFtelZaMWxLZndlSVNPK01hc1dvSE1sbWJ4cW1DcDd5VmZwN0RZ?= =?utf-8?B?UWlyZVlOT0Q2Y2pPVWVzVnBnVXNxenpmT01YOU4zR3RxVVNpT0pzWGNzUzJL?= =?utf-8?B?RTV3L2gxNXZDcXNiZU1VeitXT3UxVUJVZTM2dnNjblhrNTM4TW54TldQUmFo?= =?utf-8?B?RTZQUGx2a3kxT3lNWGV1cWxGR2RTUVVqbXVORUhpeURpVEk0MDlSUVpKN1ha?= =?utf-8?B?emROTDFuSSt1TndIQzFIc2QvRkxqOFR2bjlYY29qVkRtd1VKem5xL0hMMzRQ?= =?utf-8?B?ZXpWMzRFTFVxRnlrRFhlRTF5OGo5NVpyRVVkYmVMZlM0NWtmcjNSWHJ4dE1J?= =?utf-8?B?ZDFsMnphSUhJRHl6SW9DVGxBZG1RNFo2cGhuNmg3d2p6Rkkxd0I4dXlPR0lp?= =?utf-8?B?QzVJb1NTYzNlb1EzSk5pdmc1M0pKcFlXa3E4V3BMc1VIZDlYU3FXT1ZEUnVH?= =?utf-8?B?SkEwdFlQajUwN1BQbVM1WmorRC9mdjRNV0EvMW1RUWo1R1RPNzRYQTNibW9q?= =?utf-8?B?R3dGUGR2dEx0Vmo4Z1Uxc3Q3dXZrdHpacjluTEl5aDZDakdKTHNGbW5HWFdG?= =?utf-8?B?d2JudUtneW82eTRCbm1TTHQxR01rdFVNL2pmM3ltNmw0WHoyQ1FQbFFISFN5?= =?utf-8?B?T3F6SURjNHBUSjExdUh3UUVoWjYwNjRYNlZNTk04a1BHOXo1OVhPOFdRdjMr?= =?utf-8?Q?qH6odtjVDGM=3D?= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR08MB7120.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5519 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM3PEPF0000A78D.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 4ffeed36-2bb7-4f24-0bf5-08ddb7b1b20f X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|376014|7416014|30052699003|82310400026|14060799003|35042699022|1800799024|13003099007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?YWFseldUTVg0cUZwaSt3YWE0Q0JycG43Yk5nR1A2V3dYSGF0aGZMb0dEWGJX?= =?utf-8?B?dXFReXZ2RnFWRzBydHg5WUV2WTVId2dkOWhacGhyYzJ5L1pieTh1emlBNVdJ?= =?utf-8?B?N1hkOFBmcUhjencwUjR0bW9oZVZlOXI2OUZISlpwQk5lVmVxWVhjNTNmeEJ5?= =?utf-8?B?bWVLOHhsZlA1MzJNR2tJZVhvM3RHRERvQTR4djZLL0xWeDlvejQxbUhHZmd4?= =?utf-8?B?Rjh0SHBPTlNOR25kM1MxMW4yM1htQVZFUVp4OUVRZnBjd21JYWJ2cVp1QklU?= =?utf-8?B?THlCeVd2WGpFMzhldDIwamRQSUhXcG5WSDhvK1p0MTZxZm1GSnYvbCs3WEVI?= =?utf-8?B?RHlwbUhpeDNXT1IyRktOelRFMGdDTzRUNkUvMW1OOUVxTjEvUys0dEp0VUdy?= =?utf-8?B?MGxSU0tJK0JNa0Y1M2RGYVFRWVJsY0t5R2NTK0xzektPLzdYRTZWalJFL0Ir?= =?utf-8?B?QTlHVEVQV1o5UWJmOGxDTXhHelR5Uy9ZdjIra0t4MWRCTWFCdXMzUEtpS3dZ?= =?utf-8?B?dUMwZG5QSmVZTURPbVFiM1ZLdVVnMndGTDF1TnlrcDR0ZUg2eDZEUWNkcllJ?= =?utf-8?B?aTExUVhabUloRkgyRlV2RU1aK3ZRY1ZmbnRoc1VNZlkwaU5IeFIzQlJld1hk?= =?utf-8?B?b212UHhXRE5kZFFPcGs0WWt4Y3k5Ri9ITVdpSWxZNjdyZkNuZ3RKOU1Vb2JF?= =?utf-8?B?bVpsYmdvM0tBc3pGZlVxLzFzU0NjS1Bjd3VsakZiN1E5TzZOWW15Z3lYMW5x?= =?utf-8?B?NWJQc1U3dTJjbGNpanNSaDRJc3hMTTJ5ZnJkWDUzYXlNcUkxNTN4VDRHS0dh?= =?utf-8?B?c0RRbWIyRmQxL2lSTVV4czlEdkcxQk16QXFBamVoZ3N5c3EwZ0lUMk9yd0hJ?= =?utf-8?B?VGhZTWpGZkF6c0dvTkpvckExUit2NFdYUVRzMjhSNU5DSnUrV2RLbkNlSnZt?= =?utf-8?B?Y0VIeHF0SFU1MDNnSDRCL0JWTWlJcDUxMExQRGg0Mkp1NTdRUkVPOWk2cEpU?= =?utf-8?B?TlRZM1JwZDNJdW1SWHlLUVpFbnU4bE9lck5qNytTM3AxVW5nT2FaYlhzZ091?= =?utf-8?B?OTIrekxiVGZScXNCS2p3ZkNtRFMzRkJYMUhacTB2TlJ3WHBobC94MmVvYTQ3?= =?utf-8?B?TkRSZWdweFBGM1Y2WDZZWGtPMm5ncnlUeHdmM1BCRjdzZ3V0bGRwNjN2OHJh?= =?utf-8?B?VGo3bjJvMjhoMXlNbTNZL04yZnNwRDliWWJjMjUzZ01IMGZBNkVUTjZBSVYy?= =?utf-8?B?TGZyUkF5czFzMVZMWnJIZCtGZzEzZS9XRW1zTm9VeDFqT254TmNieTNzSE1Y?= =?utf-8?B?dS93U3ZHaVFkSTJSUlIzYytvSWhmV3c2WUxHRHExdzY5MThIZ2xJSG5RNHds?= =?utf-8?B?RTNQVld3YUc1U3k2Y2MrVlMrSjB5djU0RzMzU2lreDNMcWVLQ1pzczVyd2c5?= =?utf-8?B?THlhSlpySzJuUGhTTktNUWdEMGZaRHQ0YXJHOU5qc3NjN3BxZnRhcmJPMFNQ?= =?utf-8?B?dTdmYjJzTGZZUkNpNjdRYWJDYzQ5WjBWaGdyakgvMHdlcUd6QU5KaU5rRnkr?= =?utf-8?B?Zmw4ai9rc2tRZ0JrQWxpYWlqMlJpTFY2S1MzRk1OZDlrU1k1ck1WN2ExcS83?= =?utf-8?B?eFRqYXUyNUVyQzRQZnFjaEtIS0ZiM3FHd29tR3RDWGRWUEFJMGE1MzVmVmtN?= =?utf-8?B?ZFV1cDl0T2tOMmZSNTYrY0FDUEFKaXVtTkpabjFoWnNqMGVUR2UybWZoR3Rt?= =?utf-8?B?MVdOaFNkRGlzLy9vVHQ3NVU0SEZIMG1XUU9tWE12ZHRPYzcxQ0FxZXBSS092?= =?utf-8?B?T1cvVERLNHdzcUtuUXYvOGhYU3V1Zm5KcWFLRmVCcmE0aXl0cXhFa1JpcVZR?= =?utf-8?B?eWMrNElicXJUUk1KU0pUTFY2VVlTdG9DRGZXM0RCc2dINzF3VWNzY1NlaTBo?= =?utf-8?B?bHdMUm5xeGhFdExWcGI0YVBYQ2JscCtZTHhqM3c2RlNzQTh6a1VOaCs5Y0Vn?= =?utf-8?B?YjlSS0tGZDdCQWlMMys1LzJFT1hvbVlCNHdqckJ5SnlCVGc1MVUzT1VEcTdF?= =?utf-8?B?NjdpZmxiOXBzQ0luQW9GeDRTR1RnYlpFSjRzQT09?= X-Forefront-Antispam-Report: CIP:4.158.2.129;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:outbound-uk1.az.dlp.m.darktrace.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(7416014)(30052699003)(82310400026)(14060799003)(35042699022)(1800799024)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2025 08:40:30.7844 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 88f0fedb-5b69-4ddb-48c2-08ddb7b1c59b X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: AM3PEPF0000A78D.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9785 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 6EE73C0009 X-Stat-Signature: cpeq6eb4h81radnteukz6zoboe49ku3k X-Rspam-User: X-HE-Tag: 1751272841-841858 X-HE-Meta: U2FsdGVkX18G5O0rDR4dB4y94kO7ktsLeUidfKTrMIaXa1MaIkRuk9H0xnsTFtnWPOLD1jyGkJCGaQ89cONi/b6z5kj/HUYdvnM7pyUn/UxPSuXqBKJDz/hFD618WL8F1aqHef5p/DvEUBWsC51rdvrylaFKbG1YCCVRVM1tSHVcHo0lFzVONZJ1S0mt/wHFPdJG0LkRENx6QisQBLH7t9QSqjG7EywHm36pmU8uhmZAMab+alcTZw83Q/1ujgz93tE+78myEg7kuePdmVNRNLBA4ACjZb0fU8r/xnZ8v4stcv86XxqZKkZC6110T6Hakfx0LBzb98I6W6jY8klakr7/Rc2CNsbV8Tgdazl/s94s2nL4lTATo1SeCSyZig7rhAeGymou23mqaIsKHO+RxBPktDQFnalHc8sa0nvG7mhecK51Zz/A07e3aLT9JHk+rn3Rk8Sv8y0qQ6BoWUC80uV2FiacOlOmrEhEUgv6074rCab0aNp8f5PUxxbRbwqNfltJiIrXxWRLSZUzgL0Ze6etognz1G0gXWIP95EbJUVolh9AdivuEHdVKMU3oAlk066U8DVJMXIGqfmtQm4+jtvadU2tttD5GO/M/Y5VcfyiFWQVKiLBeqIQb9SGEl+DRXoqkb83VMZ3yV0K1ua3kTwXd+RSDcWYK+JHiuTA4UGA4t2bqMLa2HD0Dl9Ov+5ndTQDREZcWUpdo/32kiL2Jb0v5mi8hqSSioaPIAAE62Fz4mc7Lnhhm25TXA17glMdkPd9THkXHBHqLqKD66GJh4JXoYugmoTaHzzvbdhVzyxkThLnWrZvUnp/i1GeahffM5BLCBYlt68zXjT5q9gFTk+q2gkDQYf1SLQmloWWtKc1RMr39YkgmxCOqS3wZHJxYiwj8tGzK2/TLj/LE/iCLDqCBB/rpGWAkRsERMUynI94XiQR2Ko8mOo6QZwvFUtyJ8MUegtVgRaFiUkhWtt 4/O70b0F 0AMzYAqf2qdNazyCB40x6lB9buYfH8Me147pMnEI/2iPBw6WGXdo7lDX7I0Gl2JNGwWyAe1CDWfCVz7MmmMLbQkWBTSpvtRoufY7GjYnLxDFcpuBe1gyEWUmh5OuGwuOoniyN3oACvSGxScttcVkw85HY9IyIRujgupSCDZ4/JZoicyejfuo6RBSnl58b65t9IqUEK5YiaWyN4k7ikqVfowBR+p5ddQ7YV6c5hY0DNukvgRuIpl2s85kAgx4mCAi4hxQM5C95HgMYPxY5MJPnKNwZjzFccK6GHh0RDWxclRELhpODj5F2H1tOJJ177bg6rKgSHhOn0tbPC8zRfSXztN6jEhQ8KPJBg/AYi2dBSPEoJDjeTOUvM3j0Z3xH1Vh3gXUoMf5PboTAEBd34um+oYw6hVFcnvDoqjWkU31JKZ3Pfj69N9SLMq8uZIVLr5dN1loSDPZGtN4nmvimmSjq9dKhnZr7CYco2RTDH3Nc9zSaWbe2WmHfs/3gn3LSHghWuC/jUdlAFYDtCGEqbkp0SY1VPOF5P0O5KUYdR3SBUA9zOfU2Cw27R3oWyZcSldnO9ayFzQj6DOW6TgPP2i/OytzGPZ5DD+Owfma/8tqHs/6HA34uPhC4yxNvn83bUh4ZKKw0Gn9QF1zrhVj/ieNVviRLuQ== 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 30/06/25 1:49 pm, David Hildenbrand wrote: > On 30.06.25 10:12, Dev Jain wrote: >> >> On 30/06/25 1:25 pm, Anshuman Khandual wrote: >>> On 30/06/25 10:18 AM, Dev Jain wrote: >>>> Suppose a folio is under migration, and khugepaged is also trying to >>>> collapse it. collapse_pte_mapped_thp() will retrieve the folio from >>>> the >>>> page cache via filemap_lock_folio(), thus taking a reference on the >>>> folio >>>> and sleeping on the folio lock, since the lock is held by the >>>> migration >>>> path. Migration will then fail in >>>> __folio_migrate_mapping -> folio_ref_freeze. Reduce the probability of >>>> such a race happening (leading to migration failure) by bailing out >>>> if we detect a PMD is marked with a migration entry. >>> Could the migration be re-attempted after such failure ? Seems like >>> the migration failure here is traded for a scan failure instead. >> >> We already re-attempt migration. See NR_MAX_MIGRATE_PAGES_RETRY and >> NR_MAX_MIGRATE_ASYNC_RETRY. Also just before freezing the refcount, >> we do a suitable refcount check in folio_migrate_mapping(). So the >> race happens after this and folio_ref_freeze() in >> __folio_migrate_mapping(), >> therefore the window for the race is already very small in the migration >> path, but large in the khugepaged path. >> >>> >>>> This fixes the migration-shared-anon-thp testcase failure on Apple M3. >>> Could you please provide some more context why this test case was >>> failing earlier and how does this change here fixes the problem ? >> >> IMHO the explanation I have given in the patch description is clear >> and succinct: the testcase is failing due to the race. This patch >> shortens the race window, and the test on this particular hardware >> does not hit the race window again. >> >>> >>>> Note that, this is not a "fix" since it only reduces the chance of >>>> interference of khugepaged with migration, wherein both the kernel >>>> functionalities are deemed "best-effort". >>>>> Signed-off-by: Dev Jain >>>> --- >>>> >>>> This patch was part of >>>> https://lore.kernel.org/all/20250625055806.82645-1-dev.jain@arm.com/ >>>> but I have sent it separately on suggestion of Lorenzo, and also >>>> because >>>> I plan to send the first two patches after David Hildenbrand's >>>> folio_pte_batch series gets merged. >>>> >>>>    mm/khugepaged.c | 12 ++++++++++-- >>>>    1 file changed, 10 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/mm/khugepaged.c b/mm/khugepaged.c >>>> index 1aa7ca67c756..99977bb9bf6a 100644 >>>> --- a/mm/khugepaged.c >>>> +++ b/mm/khugepaged.c >>>> @@ -31,6 +31,7 @@ enum scan_result { >>>>        SCAN_FAIL, >>>>        SCAN_SUCCEED, >>>>        SCAN_PMD_NULL, >>>> +    SCAN_PMD_MIGRATION, >>>>        SCAN_PMD_NONE, >>>>        SCAN_PMD_MAPPED, >>>>        SCAN_EXCEED_NONE_PTE, >>>> @@ -941,6 +942,8 @@ static inline int check_pmd_state(pmd_t *pmd) >>>>           if (pmd_none(pmde)) >>>>            return SCAN_PMD_NONE; >>>> +    if (is_pmd_migration_entry(pmde)) >>>> +        return SCAN_PMD_MIGRATION; >>>>        if (!pmd_present(pmde)) >>>>            return SCAN_PMD_NULL; >>>>        if (pmd_trans_huge(pmde)) >>>> @@ -1502,9 +1505,12 @@ int collapse_pte_mapped_thp(struct mm_struct >>>> *mm, unsigned long addr, >>>>            !range_in_vma(vma, haddr, haddr + HPAGE_PMD_SIZE)) >>>>            return SCAN_VMA_CHECK; >>>>    -    /* Fast check before locking page if already PMD-mapped */ >>>> +    /* >>>> +     * Fast check before locking folio if already PMD-mapped, or >>>> if the >>>> +     * folio is under migration >>>> +     */ >>>>        result = find_pmd_or_thp_or_none(mm, haddr, &pmd); >>>> -    if (result == SCAN_PMD_MAPPED) >>>> +    if (result == SCAN_PMD_MAPPED || result == SCAN_PMD_MIGRATION) >>> Should mapped PMD and migrating PMD be treated equally while scanning ? >> >> SCAN_PMD_MAPPED is used as an indicator to change result to SCAN_SUCCEED >> in khugepaged_scan_mm_slot: after the call to >> collapse_pte_mapped_thp. And, >> it is also used in madvise_collapse() to do ++thps which is used to >> set the >> return value of madvise_collapse. So I think this approach will be >> wrong. > > But if it already is PMD mapped (just temporarily through a migration > entry), isn't this exactly what we want? Good point. I was about to say that what about PMD-folio splitting during migration, but then during unmapping the folios, if we cannot migrate the PMD-folios, they will be splitted via unmap_folio() along with the PMD, therefore we can be sure that if we encounter a PMD migration entry, then eventually it will be converted to a PMD leaf entry on migration success or failure. I'll merge this into SCAN_PMD_MAPPED, thanks.