From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazon11013003.outbound.protection.outlook.com [40.93.201.3]) (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 8D8D7C2C8 for ; Thu, 20 Aug 2026 20:15:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.201.3 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787256944; cv=fail; b=T6pbZHvRqTt8mprVAIfkbi3hPbM0OlmlPryRehskWTY5pDat0huEg872+X2Zoy4EqGvN/FvM/XWEhPGN2hGhzis9u36Hp2OUE+5+K8mbSE726ZwwILPtoDHPSeOZqZFadyobvj3q56bOAlp6Z+T1fEDWWTLenaZXdNlRwV07+d0= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787256944; c=relaxed/simple; bh=YIZ/CQ8k1iMa0ftKx7upfz2IYsE2dMpY13TgpLzg8fU=; h=Content-Type:Date:Message-Id:Subject:Cc:To:From:References: In-Reply-To:MIME-Version; b=FdRL6U9gV9Qrae2pl28aCdBKlCn01zYI++Q3kYn1wqyn2LFFKxOKge4BFMz7By4woWnhozjD+JA+cNk5uR3N+u/BUx+PR4jQJiZt1Th61M9Ty/wf8wjfHO39WyldOGY+93iUoGozZn3YPrh3eBql0G5laDs0RwZhcGcoHFKg92g= 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=GG5Bob5r; arc=fail smtp.client-ip=40.93.201.3 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="GG5Bob5r" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tHAig43/q7UPQZLG4hgTO9o1+GBdgw3PajjCwjnjfyZf3tw7tmpPWNsrTDKW6XykqeaCzoxeCOH8oP6SHM4gTw/KBgKVgQ3LAn6jV9Ao6NqjRnTv97hPBaqxY0uuxHNjdoJ94YJtmWuqA9TLYaf/B5IMksLpsMB+Sfbv/5Dk+zFEfalEumZQ9o1SUa+eoJHWLYHGLnqbkphiuXzIKYMMUXQm6Rp52zhace/sAVHyTsuj6FC3KxLGm4CZCKTQpJoW+6Uxr9l6RNwfACvHUZSjtJUKGszUUoB7FroXAPFQEt6cuy4v/TC4XKE16GWPuso3P/k/fkODpsScm2s5I+D18w== 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=voFEdklFpbDawJGGKFWlvf2S9LJvtsHIzE/SenwYTYc=; b=SJEJLBTsQ4imABka6J/aXG8JFQqNE2C4F0kuuWBqon+FB+HkDZysAuRzsT9gAJCiIG/kJJFJoJKim2Mp++ubYuosXRGb56HZ2G9sD6AY0dJcbm4eyF8mYzis+xuSKjt5Atw3P8ExaChbYW8zt1yN1c5zquByBNkpx+TxaivmWKtx7X+lT1an+RyNw35O6l7NaUAkp7rlR0u+SH0HoHn8qRCn+kVk7pJ09s1Qgrl84Z+qDS4RQZ3LFpwFurpNAYLF5JvYK4uAMzzA7BT7nnncykuHVFSdE/JIrpXtXmYzZ25LvYQVDad5Lv5RLi6nZjQp3WLvPvF/KPkMUJDPzNLfng== 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=voFEdklFpbDawJGGKFWlvf2S9LJvtsHIzE/SenwYTYc=; b=GG5Bob5rj9b7WcvSrbqrf0q6JoUWslvjeHXCxZrcQmOy7kW2pa/QGx6P/NrPTrZaemZBZUe1lNs4b7wEySUtwN6nKRv4Rio27rcTWFUtMkTCvXlvv0hs7Q0KkO3qA+Sii5Sn8AC7nQfKUBeJ/HG2BZv8IWPfhUPf4wd5aaHvK+7gB7Y0jS7mp1dgM5Kd/YgW67bprvF8eJHM+cvL1hOVIWEjD+yZ4bdpRqbJZkSFlP765RWT8MZiGkQZnwW3JooMUK4B7EZ3IKfDmHm+6wdnGor8f12ljZoN/HBRl0h5hPK/mYxgiLkDj7KNHuUnpHHdjAA2IB7a2+lphWXctpmOig== 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 PH0PR12MB7862.namprd12.prod.outlook.com (2603:10b6:510:26d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Thu, 20 Aug 2026 20:15:36 +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.0339.008; Thu, 20 Aug 2026 20:15:31 +0000 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Thu, 20 Aug 2026 16:15:30 -0400 Message-Id: Subject: Re: [PATCH] mm: thp: default defrag mode to defer+madvise Cc: "Baolin Wang" , "Ryan Roberts" , "Barry Song" , , To: "Ferran Duarri" , "Andrew Morton" , "David Hildenbrand" , "Lorenzo Stoakes" , "Johannes Weiner" From: "Zi Yan" X-Mailer: aerc 0.22.0 References: <20260820190825.221308-1-ferran.duarri@me.com> In-Reply-To: <20260820190825.221308-1-ferran.duarri@me.com> X-ClientProxiedBy: BL1PR13CA0367.namprd13.prod.outlook.com (2603:10b6:208:2c0::12) 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_|PH0PR12MB7862:EE_ X-MS-Office365-Filtering-Correlation-Id: 42e8229d-e23b-4ccd-4883-08defef7c8ce X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|23010399003|1800799024|56012099006|5023799004|11063799006|10067099003|22082099003|18002099003|6133799003; X-Microsoft-Antispam-Message-Info: 1zB5FYuc3D5ruxDMYm/UcbfA9fWCCNET/2bOpt9yz1tmwULWQppdRS8cmLDpCbWyRJ9BLPAgfsyBlkVn8GFPDS8ltEIVDspj3CPqto3QcyR5OtifDOPn5IUNOlVED8BaPtml2OIhyKqtOFIXk7xeAU3WezDcSigA2VlKgGvX77gxfgg2Y4bxpksu1LO/3cmm+kybORPqPM47qKuAqlR+CQbKSHfPrIbfcotEtRoGwrZgTv4FfzKJMakx7Rhu6sj2Zfdy0h/18x4+Q8lC1Z4QKTzQ/ke2Kcr05CO34nwVeuRf6Dzf8/eHH3g8P1L/new5do+J5VWoOBVgoyYGJG2MK6Nv9KbCywimWsLuQyhr5kiTO4cTqqHlJne9NRXg5VkkTa0wlLBzdgmQcxHwDZl86AXZwE4fkZ6DCMJWGKSn/nWLRwLFmiGYUQwXF43BGcl/QIudR7r9KtPUuLpGCLXCM3z41JZes3Q5tT62Q5hF3h/kTDHy8/M2aSo81UOa7P8imo5Vg0zNEp0EsxbWOvjVN6vx6yHCW23d6xZ5ZaO0TFD0Pt+aL/0M6JTdmbddihiZIVbcnRY4Sm/dEmDrJeT2VmSdRj8mZjJ2ZfazPjggkJMJkytROf1ci6Sx8gcfwL3lCDN5d8bxB6i2953ySzyubnHQ/IXmQz0DbJHzTUpE1Uc= 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)(376014)(366016)(23010399003)(1800799024)(56012099006)(5023799004)(11063799006)(10067099003)(22082099003)(18002099003)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?anF2ZEZ5TU0xT1N2TDdUekdxQzR5aEMrZk5wckRadkZBeUs1aGNjUEhUTE1n?= =?utf-8?B?bmJRMGNRQzlyWFBHdzIwM1QzR2F2cTY2bVVjcWkxRkRIdU9BMFhpbVRtWmNj?= =?utf-8?B?clUwVjI1Q21BN2UwVHU4NkVxWlFkMTM0Mkp4RkNWY0ltUlpFTGdSRkVhVHpj?= =?utf-8?B?cjlQaU84cFNRRHBZQXp6aFczNEJNOWRvNGRiMXBDU1gwVzdYdkxXOU5wSWhh?= =?utf-8?B?RjVRcTgzWDdNUHVEQ0g1M1E4bmRGdmRYa011NFZDVGw5K0N5RVpxaXdlcFlh?= =?utf-8?B?V1p1NVlHRysySTA3dlZEc1ZhRVF5am1QWEptNzJCTmp2ekttcUlWT0llejNG?= =?utf-8?B?MGRtOG9FNVpIRjcxb0NWRHVuNnpkMFBIVXVyZnBUSWFLNjVjalEvUzlEdk5l?= =?utf-8?B?dnBBVlkyVk83WU9kaG1TM2t4amh3YkpxSllsUHN5UVk0dG42QlVxeUs0R0Fs?= =?utf-8?B?enFFcnp2b0ZQQXFxdHQ3bEJYM0p0Tk5ERDhQc0w3anBCdzRhVjc3d3Vhc1Js?= =?utf-8?B?YlNMdHJ0N3NsbWdKdXh4T2ZpUmFPaGVLbVNaY1RTZjVIWU81Y1k5SUk4R3hq?= =?utf-8?B?aFp1NHl3d3VBeGM0Yys5dFNTRjkraENBYm5kbE5Yd3FvVVpYZWtKOXN6cHJk?= =?utf-8?B?alByZDRxci9oM0M4aDBTS0p5dkcwa2k1TmNuZFlBdnlWMzl5cEc5K1hoZ0tE?= =?utf-8?B?VkZiVkFnd0RtY2V6NnNnekR0VzRSVDRBaGp5b3NZL1p5NlpvNENGU25NOU4x?= =?utf-8?B?T2x3cUl0TmwyM1hqb1ZaTmlwMTExN3E3MHZjeCtrSzVjMnQzbnEveTY2T2VY?= =?utf-8?B?ZE9sWWNHc0dLUjdEVENWSFVITzcvelRLa29xV3kxcXl4OFEvUVBsbG0vQTY5?= =?utf-8?B?Nm5BZSs3ZzhoL3piWFpVQVhhNGdCK0FQRFZ5YmRZeXN2aCt1VUsvZDg1dGVJ?= =?utf-8?B?WTg1bGRzekxwT08xZDcvNE5UamI1TGU0V0RTSm1lNkVYRjMwR2VXVFNNNkN2?= =?utf-8?B?YVVXajVIb2RxR3VqZ25ObVk1Qy82NzJoL3RNaEJiM1UxVTBpYlBBSVpIbDJZ?= =?utf-8?B?SmhXbkoreFo5Sno3S3F2a3FMSCthanIwRFBjcnhMV3luQUJDTC9kemJESzNi?= =?utf-8?B?bG9pMVY5ZXIxSUxVTy9McWwxOFhlU05sbUNCQlNMZlJEeEtMTzhWcTV0YUd0?= =?utf-8?B?REFFeEtFaXRRckpaQ3Q2YWtPb2c5Uk10VVNCSG1Fa2VpQTkxQmVwRmt0T2ty?= =?utf-8?B?N2FuMGptS0JIdGYxYWR2RWpuNWJ4eE9WbklWY3FHQVMxNWhOQVhNN3VuemRZ?= =?utf-8?B?ZldIQW1Ua2pWSmFpRWp5QzZoSTY0V0Vsa0p2RU1aTFE0RklMaVBXbFkzTlps?= =?utf-8?B?bVN0RXY2STFLNXZJQ3l2QTE4UGxwMndUMUVvamJJdHRVU3NieVNEaXdmaUxJ?= =?utf-8?B?enR5SGxOeHhOemJ1dDRJbXNXMCtaalJTcm04amtxOEhRYWFYV0ovSzZ2aHFP?= =?utf-8?B?TWJuWm96Y3k4Ulp6TEpaSVZNTDRJM3FTdlNEdnlFemJMYTdlSjRwcjd6WmUy?= =?utf-8?B?MkhhVERTVS9BMUhURU1HOXRzVWYrdkVQQlN3T2RFTzZaeEFtMEZKQUlBQU01?= =?utf-8?B?MWtHT01UQzh0aDNKNnU2dkYyQ2N0Qi9tS24xT0ZzdDZmZ2doa01ha1RORkU0?= =?utf-8?B?elpEaXo5aGxZZXZOUlVzbjdwMVFvSXd5dGsvM2pMeXR1UTZUTHNLYkN3WlZq?= =?utf-8?B?eFp2UWl4RFFZditCNjhxb0cxcC9xcnY4VENiNllpNk1RNnZteUNKZ1dPcC94?= =?utf-8?B?YWxtYjVibW1ZREFEc2NqUVByVGpWejlFbVMwcmZ6bGZGTlhSdy9XaW9zc0xt?= =?utf-8?B?YWdlVGhrYXRZV0tiRXZHb1g0Y0k2NGxibVFBZDQwNkh2Ung2elR0N1cxc2lI?= =?utf-8?B?bHMzYnVmb1J5eDRtNEIvdjlvNU5iUFMzWGZZNVBPNi9vNG1yUlNSNTEzKzRR?= =?utf-8?B?TFNpd1YxV3V6bGVDRDd5R21ZcmpRaFBkcnNpdG9UUEQxd1VLRTJ4MnljK0NR?= =?utf-8?B?dUd1TTFaYXlrWGJPWjRaMWJYWDFXVnUwTjZWNVA5SGJ2YVREcVorbkNwdWxG?= =?utf-8?B?dkxVY0hWTmoyZGdrQThHWHVHc3p2ajAzOUV0ZTM0M1drL0lqN1JBaUc1eFov?= =?utf-8?B?NG5ZRjYvMDQrNEJWcUw0bmttbEVmaHJzN1hHL2pLS2ZqVDN6STZUN1V0QnVm?= =?utf-8?B?RzIrSGJQOVNuUTNSK0NTcnhiRWg2c3pRN3NyL2oycTlCWGpvS0VwODVYTlFu?= =?utf-8?Q?ZzxEhqfnb/o1Tzye9u?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 42e8229d-e23b-4ccd-4883-08defef7c8ce X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2026 20:15:31.3944 (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: Xx8zlYGOrlPld4ns9jAOcyTpbLsuge/xo5p+tAf3yw/xy+tRn9f/tZ15h4vrg14g X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7862 On Thu Aug 20, 2026 at 3:08 PM EDT, Ferran Duarri wrote: > transparent_hugepage_flags unconditionally sets > TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG, so the built-in defrag mode > is always "madvise" regardless of which of CONFIG_TRANSPARENT_HUGEPAGE_ > ALWAYS or _MADVISE was selected. Those Kconfig options choose whether > THP is applied by default; they do not express a preference about how > hard the allocator should work to produce a huge page, yet the defrag > default is pinned as if they did. > > In "madvise" mode a fault on a MADV_HUGEPAGE region performs direct > compaction in the fault path. Paired with transparent_hugepage=3Dmadvise > that is a bounded cost, since only regions that asked for it are > affected. Paired with transparent_hugepage=3Dalways every anonymous fault > becomes eligible, and under memory pressure the faulting thread can > stall in compaction. > > "defer+madvise" keeps the same set of regions eligible for huge pages > and the same allocation attempt, but on failure it wakes kswapd and > khugepaged to compact in the background instead of doing it inline. The > fault proceeds with small pages and the region is collapsed later. This > is the configuration long recommended to users running THP=3Dalways with > large anonymous working sets, and it is a strictly weaker stall > guarantee to make the default. > > This changes only the compiled-in default; > /sys/kernel/mm/transparent_hugepage/defrag continues to accept every > existing mode, including the current "madvise" behaviour. > > No stall measurement is offered with this patch. On the machine that > prompted it the fault path never reaches direct compaction at all: > thp_fault_alloc is 60682 against thp_fault_fallback 0, and compact_stall > is 0, because memory has stayed abundant enough that no huge-page > allocation has had to fall back. That makes the box unable to testify > either way, and a number gathered under those conditions would measure > nothing. The argument above is a correctness one about which knob the > Kconfig choice is entitled to set, and it should be judged on that. > > Signed-off-by: Ferran Duarri > --- > mm/huge_memory.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index b118bcd392cb..749f669cca56 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -63,7 +63,7 @@ unsigned long transparent_hugepage_flags __read_mostly = =3D > #ifdef CONFIG_TRANSPARENT_HUGEPAGE_MADVISE > (1< #endif > - (1< + (1< (1< (1< =20 +Johannes, since he said Meta heavily rely khugepaged to make good use of THP, he might give more insight here. The patch adds additional kswapd/kcompactd work when a system fails to allocate THP for non madvised THP-eligible memory regions. If the system's CPU utilization is high, kswapd/kcompactd can take CPU resrouces from others, right? Performance numbers are needed to justify this change. --=20 Best Regards, Yan, Zi