From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012046.outbound.protection.outlook.com [40.93.195.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9C1536F90C for ; Mon, 27 Jul 2026 14:25:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.46 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785162303; cv=fail; b=oJLTTDq5zS+KfoSJvkPAfJoGLV8z7D0T7IVpw4KKIrunJSCHN1xNvCOcgVDiW728PKqIN2m+RyTRFJbTJPpp1w6tnOE/vU2NUH92n2d5n5L+ZUFWOGaG+7i3DF10ktKLjt8hTbJGha2QfCztTgSJYxwNHUGOdvsIvipc+Q06rnQ= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785162303; c=relaxed/simple; bh=Tu65cvMwkaqSx7HjYUVn7VqZ6neXeHbu4wNAClHqmcs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=joCS0MwmpCyxvzj7Zf6vVrAwe3UOCWClLPPhMZ2az9jGxSjwfDzzgI+zE2uj/s4EP6SS7ZNAW606CfRjOg/eHC7ThnQDY08loLtJS9D2F217z6RiSDwF8FHKl+lGtBsE2CKF6IcR1lXd8lPYewuNzCzEkTNP/DBZhzft2nNrelY= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=M/vQ8J6r; arc=fail smtp.client-ip=40.93.195.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="M/vQ8J6r" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RGxxugrLnzW7WLbTvf9aDnHYmF5zg8c0nRic2g+S7sQgLo4D8M8SN/VGmfkwSpCiLbj/Lcanw17fS0UWgsmBr03vulLvFgpEBT/HySi95sJ4rZ3A/+rPFucRm1Azwk1DP+cfnINis4q70x4JAFLeF3P0/6bkFjYyCZr+OI0ujkkza/CECv+d7GRFT8+O/AWcAawFhIvdPPOJY4u4U/kqsBMVaTgq2R4KxI6dVoMJEUHOOrUHbNVZf9iyPIOqHRcecla4tNR8KTYRikmzkOZiMPdglgm6kqiOWjNR1xe4cgNz1JTvkHXCmKf1SV84kMHbe3w++3HHHGKIBK0vogsAhw== 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=KjRbhPlL+p/zm3QIFM8ud62vv4kPxVx8SvFyJE8Wx0o=; b=CrvywVRqDw5rx65B3ELup9/4KSfAcRe+SG2gShDj5Yj3D6er+8j77MvR0AlMimbUwEhhzHVq9DPk30jfMyy+w49+JsWeS5lno0+F0UiFTT9BFm42nZvTwCDtyce706eG0CB8J4R7SIiOKoE16HbptFtC+4u/QJM3ZiHCeOXKELloExhmPJmtMZHy0kLjmGwPyhEehY01zp2imxBl1VJ9V72qwNvS2GGVFS1ccKW7Fwqn9f1Nq92Qg0VCxQj7IG7XqQxYIb17a+hx5N9jJQMC6xBDYMLw3IviolIx4w/jkq94FqL+xOrLUtJtoW7/QvWXZ+RUSkQbVRtRaTrbeu68yg== 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=KjRbhPlL+p/zm3QIFM8ud62vv4kPxVx8SvFyJE8Wx0o=; b=M/vQ8J6r5rGzgnZ2ZstNkHQGcYq1ZLXB+Fv9q8jiMSa3GaUiVi2OYa1VMbX8jZ4yHX24FIqqoiazI3FkmVX8RFc/IGHr9RqYI/pnBjcMUjlXeUiXqDrumRXPc6qA1eHAZim1A6krv0YeMHDAe/+0ENAaDTnajgELrDKvOwbc0SQJC4pSCumSAKIg8bldAcdDJz/SiP5xkmk/qskSC0Es5ifEMQlBv2cNmtiCHfUPUXaculjdTTOT/pXwNT0cDUPo82dULxir28NgfbkTY22vDCHuaWsaFohDO3IPOC6ZEHKONrhRbUm6fun6IGrngHAoWuepuL9OaJaeeo9dp82zPQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by CH3PR12MB7500.namprd12.prod.outlook.com (2603:10b6:610:148::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.13; Mon, 27 Jul 2026 14:24:54 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0245.012; Mon, 27 Jul 2026 14:24:53 +0000 From: Zi Yan To: Breno Leitao Cc: Andrew Morton , David Hildenbrand , Matthew Brost , Joshua Hahn , Rakie Kim , Byungchul Park , Gregory Price , Ying Huang , Alistair Popple , paulmck@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@meta.com Subject: Re: [PATCH] mm/migrate: report RCU-tasks quiescent states in migrate_pages_batch() Date: Mon, 27 Jul 2026 10:24:52 -0400 X-Mailer: MailMate (3.0r7024) Message-ID: <175C6638-57F7-41D6-8906-3F3B5D6108A2@nvidia.com> In-Reply-To: <20260727-kcompact-v1-1-bdfefddd6874@debian.org> References: <20260727-kcompact-v1-1-bdfefddd6874@debian.org> Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-MS-Reactions: disallow X-ClientProxiedBy: BL1PR13CA0412.namprd13.prod.outlook.com (2603:10b6:208:2c2::27) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|CH3PR12MB7500:EE_ X-MS-Office365-Filtering-Correlation-Id: 041b7e27-c946-44d5-f302-08deebead36c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|376014|23010399003|1800799024|10067099003|5023799004|22082099003|18002099003|56012099006|11063799006|3023799007; X-Microsoft-Antispam-Message-Info: nUVk7PfkxujiJN5pRo2I4AoygaO+UdVBkLYIwDpJdIosup3Th35mjOG+YovMLVGmu8xGgWphQZZWUVkv68ALp0BQMcC97oWqWWBKghgv+S6u3dnaOKGX2kQoYGn9ApFPKwjf1tkZgwIuD2nWTR4aY7RfDpBuoYCY5p/aqsgXf8sdS5qOJ8LV0BYzUKrpwvO3DurcIVgHGOMxfE1d5RipdUj2zzb86Z/F53Dr0FsR/xThva/8FZ35ZQlqILmxJY8Wx6aRhG4jnUNM3azBhT9LsqWlt+IVePyz5pWAz+ahZSvnXk9nD5eu729QpUlQHQJX1AdWFaCWmmHKjsTUIrTHZ+GmGePh/j5Z94GpBL0O0/0mSfSEsrExDapTzF5oOlUJywVGvw2AO0du8plK7TU1fCdnMA7Ow/LOXjyNR4IDDM8IlcYb/tAzjWv2+xKSNO1/wdRoykg8CLtvSUk/28JhR3x4vQnaqPrTyz7NfZiKr9H2pv/14I1MpG+jP2YhrxPSYhRSp0rVTlKp3Bdsp0x+mktYy0gQeYscyUu/poIuxLeGxSY25qwojsM/Sg6eqKpK57wk+R6iPBUdWT3Y2UV6NBLxUg/Si6RnGEkI1o2uF5SnA10VVHfiERuJH9pWhZi/klKGKB1s0ufXSydiLMtMwQ5UHleU/HAch9Y4fAj21dk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA0PR12MB8374.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(366016)(376014)(23010399003)(1800799024)(10067099003)(5023799004)(22082099003)(18002099003)(56012099006)(11063799006)(3023799007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3w8Ecbql0B6JVet/GDwvieybj8zMxobcgwIdVZHg9Tv4+0eQFGH87du7ynlu?= =?us-ascii?Q?kvEelkoQKENecSCw5nWYrt+OgpVWhuwInsdFOaoHUgZZcfIutjy8aKJWOrRr?= =?us-ascii?Q?nD2hvsYBuhWJEG73zfRBcvixmz8IQ516vjknUNiHYghVW+21MEOsvSu2HPCp?= =?us-ascii?Q?PhwVaBNRCkJ3bopMBxBgFBKLQJ8QWMNRSCDnJm5gQnAhspsJF4fYkWBX2+k1?= =?us-ascii?Q?di7j/jmVVVloUu1D4EsWjS5u34GBdejx+CLsP1gjMRM0nrtJzMDaUMssG++Q?= =?us-ascii?Q?YNAWSYljKn0Z9rzAKYkfmxUfmZHRDphJWLD/7hqesKSrp51znw1JietKWf/2?= =?us-ascii?Q?MMSjTMfR8y8hL27e3mJ95t0+CISz0R8nhbHrBD01RLA7Xt1zgzDoTBwwIW6C?= =?us-ascii?Q?Wp5Ot3fDv4lzoZh7V0k4jRdySkHgrHE+T/q210fJYWGa36Wup3rvomUbLhvp?= =?us-ascii?Q?D4zOQUI2vsWj+IEqMCf0E1EsYtdDoP1ZvlQCB536FTLtsPQNJPYVhc0P0iRo?= =?us-ascii?Q?wHTBYAPv5nibXu3A2I7MxiiddVdd3eEq3fUB8cTMMcxvnahG5dzKX/A2In8P?= =?us-ascii?Q?mvluJaX8Jbt0UxK4uAHge7F+/TpsvGdxg5YEKHqRukWgz5iKWdw/7BEK2q7l?= =?us-ascii?Q?ApZyRusuEXiYGyMdKH3PNz1VG+XbPJpPCuPKUIQIGQKjuYzsEKWx77HCHe5p?= =?us-ascii?Q?GeqldBJPcxKdUvt+GJRVxQRrBYoNNAukPBadv06dJGtry3GNa92HBcm+CLXs?= =?us-ascii?Q?XifpvQBdGQ/AOWLT/KduxWaFVbvSyfwtTGudpgGyFRzvpCeuqK1nT/x2aL2Q?= =?us-ascii?Q?LKGk2zrWgqPk33rh96KP0Hpeg0uFJBjhdQH8t4aBDwrHra+SpMVDNHF/pOt7?= =?us-ascii?Q?/j84sx5zJ93Zw4A4t4IYwy5vv2sYsOwaOYZ9C52iAccdM0TaeEzFVa/ArPHx?= =?us-ascii?Q?OEfIYxwL8RWWVjfIJcBrJxuKONbTn0sLDbeN/znR32L99Pk22+Nq/IDE2KXm?= =?us-ascii?Q?UXNE+h3HQteOEvYmW/mxjRuDHu1G/XQfKDnw1vGTHnUAJ+16zxBWkSp0djv7?= =?us-ascii?Q?Ny5FVkVE7s06K5kq3gq/sSZ6haLUlUq+UBtiucSg1NWnXWUfJbKL9DFuPX9O?= =?us-ascii?Q?G0I8NYlwokw6MpcJR+zfrY4yLTx7zCKpQiuGwdj4ePzd0x7Mp3DBJb+yBA5v?= =?us-ascii?Q?WPVwKIDWMawWPf4WxvLrBmz1R4rWvX6KiV00ZvBxWdup3A1fsmCf62ZcNVU3?= =?us-ascii?Q?os8WGz3rEyQnyEHbsEulpK1YhaqfDj+/iRWcmfejsTBmn7LnhiNfe4R5giTW?= =?us-ascii?Q?QSADdAsFMJgw1EQGIrQkEqc7pDI/XGIm6p3Um4S0CiMvpvhDzmKRLKJwRMXb?= =?us-ascii?Q?S/8o6JOkLD3dsHV2h1IwlokyT8Rgwff4iNu8f0Bq+JrLDztpanIkvHyOAprp?= =?us-ascii?Q?bQnyQHW6FnkxX2mM9X+f0cKlXPdTh6y/9RiMrfU8IMRgyOWDOwNNQYgZG6DH?= =?us-ascii?Q?oSESBTFM9yILtp16na2ZGpeqsCAPVAVUTv/1xwfZfNaCvmHhgWCxBGm1QadG?= =?us-ascii?Q?P3PVmBVbnIWPyNeH49nWSHXuyfr7lRRYM+rxt+tq7bfunxqqYgPUaptr3KmN?= =?us-ascii?Q?FgOeiFIo4doR1PlieZhlLsmCrRlqCRjeQzOHRnKWZmBz0bHQ4gU1i1Rkjvlk?= =?us-ascii?Q?mFezLlrivQzfQF+W4fzC7W4RoBl4M77XMNQN6B9pmKBDrEop?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 041b7e27-c946-44d5-f302-08deebead36c X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2026 14:24:53.6923 (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: JwyQKLHvKXkfQn+JX6DL6JGjLiJenPavKsJGiWIg3F1SUZTD4+JQsVZumF1BToc8 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7500 On 27 Jul 2026, at 9:50, Breno Leitao wrote: > migrate_pages_batch() unmaps each folio before moving it, and every > unmap runs the mmu_notifier invalidate callbacks. On KVM hosts > try_to_migrate() ends up in kvm_mmu_notifier_invalidate_range_start() -= > > tdp_mmu_zap_leafs(), which is expensive, so unmapping a large batch kee= ps > the CPU busy for a long time. > > The loop already calls cond_resched(), but on PREEMPTION kernels that i= s > a no-op, and involuntary preemption is not a Tasks-RCU quiescent state.= > > A long batch therefore never reports a quiescent state, and the > migrating task (e.g. kcompactd) becomes a Tasks-RCU holdout, stalling t= he > Tasks-RCU grace period for minutes, which is common at Meta fleet: > > INFO: rcu_tasks detected stalls on tasks: > 0000000055349ecc: .. nvcsw: 1157401/1157401 holdout: 1 idle_cpu: -1/5= 6 task:kcompactd0 state:R running task > Call Trace: > tdp_mmu_zap_leafs > tdp_mmu_next_root > gfn_to_pfn_cache_invalidate_start > kvm_mmu_notifier_invalidate_range_start > __mmu_notifier_invalidate_range_start > try_to_migrate_one > try_to_migrate > migrate_pages_batch > migrate_pages > compact_zone > compact_node > kcompactd > kthread > > Use cond_resched_tasks_rcu_qs() so a quiescent state is reported even > when cond_resched() does nothing. The explanation looks good to me. Acked-by: Zi Yan BTW, Sashiko complained about hugetlb path, but hugetlb does not batch migration, so there should not be an issue like this one. > > PS: This has also been discussed at [1] > > Link: https://lore.kernel.org/all/amdWVTs0WKOxguxP@gmail.com/ [1] > Signed-off-by: Breno Leitao > --- > mm/migrate.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/migrate.c b/mm/migrate.c > index ab15a4dddd047..b937cbd764808 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -1843,7 +1843,7 @@ static int migrate_pages_batch(struct list_head *= from, > is_thp =3D folio_test_pmd_mappable(folio); > nr_pages =3D folio_nr_pages(folio); > > - cond_resched(); > + cond_resched_tasks_rcu_qs(); > > /* > * The rare folio on the deferred split list should > > --- > base-commit: c5e32e86ca02b003f86e095d379b38148999293d > change-id: 20260727-kcompact-ff0550fc0ebb > > Best regards, > -- > Breno Leitao Best Regards, Yan, Zi