From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from PH8PR06CU001.outbound.protection.outlook.com (mail-westus3azon11012042.outbound.protection.outlook.com [40.107.209.42]) (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 B81DB3EBF12 for ; Sat, 24 Jan 2026 18:37:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.209.42 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769279863; cv=fail; b=N7yt/BpwKHwkR8lJqb4Ec+zH0goOly6P14sM3/uXE7y10+KBuT8Awp4VHsUA/S7H06wbZUeIem0Gwh9fmjPSiGAr8HgHVGm7NpYVt10a0yp8M2OnUdwfh1V+OrUIY5c9xoG6722SrJ+BtQg/QeO2M6UMHeKtUQMjAZ+2d9h5XHM= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769279863; c=relaxed/simple; bh=+zuxMqukzhXhZ3k8tgqmQIDg2TbE2X5x4aN+n6p2J/M=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=eT4N+F+DbDU7zyf/xUtHu96YI04BrV5VtBqmpBBFodJD4sdejVGjb2gKlLdMWAqcj7uotntlYZhslgDtdb787b58GtjGfOHLCoA6JJ76+Ny/U2PywuODAjYyWkQU01vs2B32CEcd4fxioICIw5yEPuRisoyxaLOxuqeJoSEyFE8= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=BTi8e1Xi; arc=fail smtp.client-ip=40.107.209.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="BTi8e1Xi" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pLoOV4vQFybZSYXoFcK0W6GmIxpsBXRPLviIBTJkkfRUpHA5XGiibrFi35rNU72Fp/wGoWELQ7i76RbgEjUpJpf+fIRWfEvw/Om1zJZyMOCYUaNJO/s5N94oEx+IJAlpSwYWYgLRvxhcNygaeGLqjG+rRfz1mXGmo6m+8LmvVlvR7EJJAwUbfECHC92RxLtvmeLnP3NK7MbH1aTKArg9VjnM/MuU4yRZEa+QlzR1k2vFvAFV3SQSxKcIKIjPeuuh8m9RIKBcUdNKpbsE2yF310ki39RfkWcnieG/zLJUOYN15Sf9fj2XQ4eYzCogRT8A+HX5LCo2p6KoWdDxpLhewQ== 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=7GwET1+JA8ifTA+BxjCSO/C6Vw1EaAXJG68dZ81WbOI=; b=xMbgQoZoqIWiabxj25xnvlI36Tt0C+nVdGowYduqdL06lpAdsqzVfPnE/1E+ZXG5RZe4EYP7gp1V2oM2/yDY4W5GwLeFENN3Ni92Ehm4TXxBhYJNaCho/6TEzMao9LOdWWzkh+TX3Q8wYfNRFcdci10xjqshmH/0CGsjExMIsdcXK0YuqhNc/7ye4wc0sXbBtObscykHyZi8cyYPTUDzeh5z+5uQxQC5XKA3SvVDU5jEwnVS9iOD/1zUkUn8S2+TjQytF4EkFelKEp+8dlXsXDub7UWFf1PxFWZ7M/GNDRHPoVQHQdf3vJX9ZZrPkf1jJnGPSvtdDH0BHdFFtmLw/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7GwET1+JA8ifTA+BxjCSO/C6Vw1EaAXJG68dZ81WbOI=; b=BTi8e1Xi0c3bcMjwtNMjNrNN501OTJjVHhT9+ljvlnKdc4olAvzsC80BUHZraUpueDXcq6qftHRSX7tzn+T1QvbS5j12m0Q2jFrQsyrLoY2Hkvd3EWLaXqOYnRPfPc0a8/NIxj96n7Gdky4mhEkhlily44uGci50O2Xh04OU1Uc= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from SJ0PR12MB7458.namprd12.prod.outlook.com (2603:10b6:a03:48d::13) by DS2PR12MB9614.namprd12.prod.outlook.com (2603:10b6:8:276::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.12; Sat, 24 Jan 2026 18:37:36 +0000 Received: from SJ0PR12MB7458.namprd12.prod.outlook.com ([fe80::83e7:e6cf:26ed:2f3d]) by SJ0PR12MB7458.namprd12.prod.outlook.com ([fe80::83e7:e6cf:26ed:2f3d%6]) with mapi id 15.20.9542.010; Sat, 24 Jan 2026 18:37:36 +0000 Message-ID: Date: Sun, 25 Jan 2026 00:07:27 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH V3 5/5] mm/khugepaged: make khugepaged_collapse_control static To: Lorenzo Stoakes , Dev Jain Cc: Andrew Morton , David Hildenbrand , Zi Yan , Baolin Wang , "Liam R . Howlett" , Nico Pache , Ryan Roberts , Barry Song , Lance Yang , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Wei Yang , Anshuman Khandual References: <20260118192253.9263-4-shivankg@amd.com> <20260118192253.9263-14-shivankg@amd.com> <6486c6dd-2702-4a4d-9662-09639532ce6f@arm.com> <50da84da-1cd6-4b8b-babd-b6dea405713b@lucifer.local> <94c84a3c-8ed9-4bb5-8e64-69bcb8306aba@arm.com> <7ac06a41-73c8-4089-873e-7bb4cc1b3e02@lucifer.local> Content-Language: en-US From: "Garg, Shivank" In-Reply-To: <7ac06a41-73c8-4089-873e-7bb4cc1b3e02@lucifer.local> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: BMXP287CA0007.INDP287.PROD.OUTLOOK.COM (2603:1096:b00:2c::14) To SJ0PR12MB7458.namprd12.prod.outlook.com (2603:10b6:a03:48d::13) 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: SJ0PR12MB7458:EE_|DS2PR12MB9614:EE_ X-MS-Office365-Filtering-Correlation-Id: ed421427-8745-42d7-eb0a-08de5b77a4bd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?ZXpuUFlnTVRmUjJHUVMyVjFnclVlSWp0aUcxYjVwcEhXaDE0ZWxEZVUraUR1?= =?utf-8?B?UlR4MnJodTNRT1k1N2xkejJNQm8xenFMc3FvZ2l0ZmdpeVZsdVFPdHFpN051?= =?utf-8?B?eUZQQWRTVUtBdFJIOHAzaGNsSTE4NFl0SnBPbzZhZUFtWVVzUG1QSUF6Sldw?= =?utf-8?B?dGFPaXVwelRsa1dLWEZwWExkSU51UWp2bDRnYmkyb1dyUEdBcGNZQUtCNFF1?= =?utf-8?B?UUhmUTEvWUliTWRWOTNHbDcxZVNtNmJ4SHNCL0JEQ1hkcjg3Rlk1U1NYTHhs?= =?utf-8?B?QmhKcUVhWHVzSEt2RElhNGJ5clQ0Nk1CT1dHLzVSVEQycnc4Q0Jnc1UrdEVG?= =?utf-8?B?NGl0WnBlREozZksySGZnbmplL2xpVVRhUDhSZFFmNjlNZTRraEljUTl2Z1li?= =?utf-8?B?RTk1d0FDbWNQUisvYVRFcVB2SEIxMmFZWHEzSnNDdStDNklRamd0STNqVm9Y?= =?utf-8?B?bU9yeTdxajVSRGEwdHhaUU82Y3RVUzRtQ05melNjbkdCQk1tcmhjT0tNcENs?= =?utf-8?B?RFZlU0xHdTNQOGhnZUNEL2xwY0U3ejFBYlhyZ2s1M3pFSnorVzB5NkpYZ1pn?= =?utf-8?B?Tmhvd2ltZi9jbXFZQ2VhV2U4YXNiNmhaWWpEZ2ZwQnpTZGxkQW5IREFXV3Rk?= =?utf-8?B?NUZRbWM1d2ovWDdWQzkvUnVkTFNsb3EzSGR5TGFLMHladnpVQlR5WXFXbjMx?= =?utf-8?B?UVJ1RDNqVGRYNCtPL2szRGo3clpiNTNZUkdYQmxCOWc4WlRlanpFM25wZm9E?= =?utf-8?B?NHFBaU5zSzFPUVRJUmdWd3EvL0ZjMmt1M1VaRVRHeW94MVRxUUZtbng5WUVs?= =?utf-8?B?TmVveEpTejl3QktpbnFhLzlBQ00wU0w4UzNVN0lmVkdvVy9YZTIyVjUvSHM2?= =?utf-8?B?ek9PbmJ3bWdrRSt1S1FBWlZnSVhCbzZyV1c5dWMrWWFBR25yV1V1NkN5YzFR?= =?utf-8?B?RzFqaTJpc1BxOGltcHRvNWZmQXY3eW42T1VyRTFiY3hEYWZtcTI2R3QwM3U3?= =?utf-8?B?RVZKVU5EeXNrOGxpSUZlZUpuZUgxTkVnSmNMaHlSeEJpKzNZSHo1Snl3RCtt?= =?utf-8?B?ajZaTFNBZFhCWnhUbHVmZ3dLRE9nVE1Oc1lwUlQ1MkdkdGRnMHNKRzZiMnJD?= =?utf-8?B?RkxDdDhmTjQ4SkVFU2xncmRqVEFqVE84OW5qV29tMDRuZ21abDVkUVJ6VnRD?= =?utf-8?B?WlNta0FhZklMbzZNTktlRFcvSDFpaW9RNVBOeDhkRDBXRnBqRVNYV0JtK2wz?= =?utf-8?B?YmxLVWd4QnFSY3prWkJDTjNGQVNZSVFWZ01HVzMwb0NScWdEek9CMGtKcU94?= =?utf-8?B?RGxoeXBDRkFSOVZ5eUorbHNQcXRGVmpPbnRwMGZ5ZVlyMk9WUm9rYW1MeUVh?= =?utf-8?B?MENNRmpCRjJjSEFUUGVJK0xYVm4yd1BPTHFob0NmQzVRMGd0Qm9FTnFXK1Fr?= =?utf-8?B?VTJObzJGaldXYXJVUzBIVnBTOGduOWdOU0hTeHV3TDA0eUFCeFVCcFNvWnVO?= =?utf-8?B?T1phTmcvOVB5WjNTSjBqb2NtQUg4MGk1TDhuRU5QSitLZGRQNlEvNWp1R2xh?= =?utf-8?B?OFhxaUp3MW1EbmUydkowN2ZNQnlKdGptZTZNcFNrZDl1QUZSMVVKUTNqZ3Er?= =?utf-8?B?Q3lleTA1RDVTV2xoNDBKcUJqUXBlVGpheXEvaVRRcmwyMitJckJNeUlza2s0?= =?utf-8?B?STNFR3ROWmo2N3JnZVNQVFRVOVpuWTREZFF1UzhHdEoraGdsamkyMmFDSnVV?= =?utf-8?B?bDh3K3llVzNOb0UyS2RrQ0NoWW9NN1RoaDFSa2x4RktJM0RjbnRaeEVDN3lI?= =?utf-8?B?M3BwTDRVeSs3YStqTHNLU3RYV3F6Lzcxc3VXSkpwenIvWWlRMi8yMGpaZlIr?= =?utf-8?B?cmdvRnVTNmtYOHFMQUxTZndlRVdQUkZneFdtUXMzeVV4ekFmdkYzNWZ5b0NP?= =?utf-8?B?MHBycjJOUTFaWlU0RElEM1FCc1VlZEt5VWpMek81aEx0c21rRWx6UHgyaWpM?= =?utf-8?B?YU1QMUNlUHZ6cWx1ZlVOWjNzMDNwbG13TCtYeVcxdnlpY0c2TmhzU2RmNmtN?= =?utf-8?B?RVk2MEpvM0xSbzFNOTdhVDZrdGdjcjY3TldBbVR0aTkrdHBFNFhFWHB1dWFp?= =?utf-8?Q?AKnc=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR12MB7458.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QjJtb21ZZlQ0WU9RM3g4MkYrVUVxRjVlSzc3dmZlMUJqOWRnbGJiZzdhM1dE?= =?utf-8?B?VmNGRU1VN0FuNCt4czJvbHlUSy9FRVVJWDhzeXBzY3JaZGVLUEpHRkU2bmxE?= =?utf-8?B?TmRRdTZuelVjZTRnQWZrWGhpMnNxVmRrQ1Y3WEJESjhoRlA0VXNWOFgzdVp3?= =?utf-8?B?NFVsZVZuUVoxM0tuTHRtTFArQXpqbWVSeUJvOGU0VDlhSURLQ1Y1M2U0bnFr?= =?utf-8?B?K0dkRVBrM0FrcWQ1UXVlVS9TZVFxMmNjMkx6MTVtVVR3NTBDMkFjaTVvZ3JS?= =?utf-8?B?NXlqSDhWRWZ0eUQvSXBDWS9XdFFFbjhoRDcwNXRKdXZ3UGtLeWJxQWlQb0J0?= =?utf-8?B?R2ZOcWluRlhxejFNYWwwSSt0dGhxbDgvbEEvZzNJYzZsWlNFUU5HTndBdW12?= =?utf-8?B?Y24reERvOVAxbEpyN0VmY0tNT1c5UFNaZFFwS1dvWURZeUJBcjJMbzlIN3hr?= =?utf-8?B?TCtWbi9sVkpKbVNabW93UG0wZTQ3bnhTVzAvNXZBSEh0LzNUSUMzQnpxajlX?= =?utf-8?B?L0hoN3gyZ00vNUdBUytnanA4YmZJZmRWSE5LVkp4Nk5FdVdyZDAxN3FTT1Rp?= =?utf-8?B?U1lDL2lXNlRXSGNPNFdsZ3MyVDF1NTZNanhjVmRURUZPNzVBQmpneEZMam5O?= =?utf-8?B?bjdJNGZ6NTkyQ1kwR0hpNzQ3Ylc1TXBWV3ljRUgwcldGRktHVU9Bem1ZQ0xX?= =?utf-8?B?S1lNZ3hPZ2hDTkYwZjF3bjF6eTgyZmJ4NnlzNGxYeUJLeEJnNmpESTFjd3Rr?= =?utf-8?B?U05rSnFlT2p0aU1TdEFBUmZtMGh0UUkySGd6T3VKV2p4QW9kZlE3QWIydGwv?= =?utf-8?B?SFNvQlVrY3E4czVJdEtPc2JhVE9pdmlPcHVJOGlvcHcrT213RE1ROHFJY2xH?= =?utf-8?B?dlVDYlFmeHBTK2MzbTZqaURZbkJPWkYrMXAvOXJYUkZvbnFxbElMY3FxNVZj?= =?utf-8?B?MVJxdFVLaUNxVjBoOWZxb2ZCbjZrSWJsTFdDOWlQY1lPN0V6dSt4dDBpYkVH?= =?utf-8?B?ekFLY3ZZcnFJT09RYWdNcC9UTldNM09ESHlpYjhKYnhPTkJPNTRmbCtmV1Vz?= =?utf-8?B?a3gwTExTOHZlVTFnWVdsZzhzRDhpbm1IVTZLTnhtT2lYU0R3UmxNSnRad09k?= =?utf-8?B?OGVTclZFT255aEwra1QvM25zTkJtT3RZN254YkhVczlvVzJrQzhWU3dtZW1w?= =?utf-8?B?cXlwcVQxbVhpWHhTYlBQOHJDVUNsRTZaT21Qb0N5WFFlaERTenMxWHdXK0Jx?= =?utf-8?B?L01WNU1LMHlPb3pucXNveUZLWHVTcE5YYjhEWjZ1Y1R4NFJEVGFVTWtEbURI?= =?utf-8?B?OSs5cnd4ZHY1Q1RvVmJRYUovTWYxR2dzdHR2VVgrN0JKMCtzSHFFbExuN1pt?= =?utf-8?B?eFNwOXRpYm0xOVRVSjl0REd3azJjelpSM29pQUZmMFhhdTZqamlldk5uZ0R2?= =?utf-8?B?Z3k0VXRWdE5sRzRiY1VOSHhaV3E1aDVjblNZN1hmWmtGTXNhZUlaNFlMbFd2?= =?utf-8?B?cXJEWWx3WWQ2bzJReXFGZnFwT0xzTENaaUg3L1RpV2I1UURmNk5MSGdrZURw?= =?utf-8?B?T3E3a0ZjS0RyZ0NJeUtkdWdoR1VPTzh0SVkyOExKV29EUkUxMC9MQ29ia1pP?= =?utf-8?B?UVY5ditoRUgrNVpZaXMxalNDaW92T2xXOVlwUjFaVU5uY2ZsSjR2WStEY0xU?= =?utf-8?B?UEdxMTh5b2EySDY2TVQ1b3dORnd5QWxSRGtlU1YzNCtyQndBWEl0OUFxcWpU?= =?utf-8?B?cW55VllJZTRDUEppWWNUWUFab0YvV2xKNHY4Vm9uWlBCaVpBUFg3aDdaTU9S?= =?utf-8?B?QkdWdk5sNW9sVGZ0NG5vMGQ4SzJ4cHl4RGZHeitwOXR2aUpYaUVvOEVnWXZB?= =?utf-8?B?UEV0bktCVTdvczZPOFBJSkd5NTk1RU1JS2x6WUlMQmVSRXFPdUtZTzRIQzNE?= =?utf-8?B?cnhLWVdPaCs4N0pWMHRKaUhLeUZnZXkyQk9XQ2haOEh5ZzUxRTh1T1N3S2Jm?= =?utf-8?B?Vm1EeGpJc2ZnNGVuWC9rK2F4bEN4ampLclhzMzhVRG1raUMwSW01WEFWKytK?= =?utf-8?B?L0lCeHdoN0k2ZHBXMjRFeVZERjV1ekYvZERHU09UOFlOVDB4TnhqOHBNSTMy?= =?utf-8?B?RHdJRXVLNk9iS2xwNUlIRUJGSDJlSjNsUXNURmMyTHQyTkRGaVJyQVoybUto?= =?utf-8?B?NzFTdENkSUsybVY2ZndHVTM0d2I1bUx3Sm5oOGN4WHdQRDRQRnBkNnA0MzFV?= =?utf-8?B?Rm94RHU0Y0Nqc1pLcXdFdVZKejhvZ3EzdXp2dEE0YlZJQ3FST0loZGlwKy9p?= =?utf-8?B?QTNpZ1NCd0tnaDU5L3ozcGU0TUFIK0JoNEJsdVI0bFlXN3ZUMFlqQT09?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: ed421427-8745-42d7-eb0a-08de5b77a4bd X-MS-Exchange-CrossTenant-AuthSource: SJ0PR12MB7458.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2026 18:37:35.9648 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +zaf7brmN3kqGodmGDnNvaOS85FnWtI9gTYL5xpYd9FBCa7tGiKpCi5UCJGtfKLUmI/TEh3J3asHr/zpAteyEg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS2PR12MB9614 On 1/24/2026 5:10 PM, Lorenzo Stoakes wrote: > On Sat, Jan 24, 2026 at 04:24:24PM +0530, Dev Jain wrote: >> >> On 24/01/26 2:31 pm, Lorenzo Stoakes wrote: >>> NAK to this change.... >>> >>> On Fri, Jan 23, 2026 at 03:03:58PM +0530, Garg, Shivank wrote: >>>> >>>> On 1/23/2026 1:18 PM, Dev Jain wrote: >>>>> On 22/01/26 2:58 pm, Dev Jain wrote: >>>>>> On 19/01/26 12:53 am, Shivank Garg wrote: >>>>>>> The global variable 'khugepaged_collapse_control' is not used outside of >>>>>>> mm/khugepaged.c. Make it static to limit its scope. >>>>>>> >>>>>>> Reviewed-by: Wei Yang >>>>>>> Reviewed-by: Zi Yan >>>>>>> Acked-by: David Hildenbrand (Red Hat) >>>>>>> Reviewed-by: Anshuman Khandual >>>>>>> Signed-off-by: Shivank Garg >>>>>>> --- >>>>>>> mm/khugepaged.c | 2 +- >>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>>>> >>>>>>> diff --git a/mm/khugepaged.c b/mm/khugepaged.c >>>>>>> index 1667abae6d8d..fba6aea5bea6 100644 >>>>>>> --- a/mm/khugepaged.c >>>>>>> +++ b/mm/khugepaged.c >>>>>>> @@ -827,7 +827,7 @@ static void khugepaged_alloc_sleep(void) >>>>>>> remove_wait_queue(&khugepaged_wait, &wait); >>>>>>> } >>>>>>> >>>>>>> -struct collapse_control khugepaged_collapse_control = { >>>>>>> +static struct collapse_control khugepaged_collapse_control = { >>>>>>> .is_khugepaged = true, >>>>>>> }; >>>>>>> >>>>>> Will it not be better to just remove this variable? In madvise_collapse, >>>>>> we defined cc as a local variable and set .is_khugepaged = false. The >>>>>> same can be done in int khugepaged() - define a local variable and set >>>>>> .is_khugepaged = true. >>>>> Since this patch has been stabilized already by 4 R-bs, it may be a headache >>>>> to now remove this, we can do my suggestion later. >>>>> >>>>> Reviewed-by: Dev Jain >>>>> >>>>>> >>>> Thank you Dev for the feedback and review. >>>> >>>> I've attached the patch implementing your suggestion and sending this as a separate >>>> follow-up to avoid disrupting the current series. >>>> >>>> I’m happy to queue it for next cycle or if it’s acceptable now, please take it. >>>> >>>> Thanks for the suggestion! >>>> >>>> Regards, >>>> Shivank >>>> >>>> --- >>>> From: Shivank Garg >>>> Date: Thu, 22 Jan 2026 12:36:28 +0000 >>>> Subject: [PATCH] mm/khugepaged: convert khugepaged_collapse_control to local >>>> variable in khugepaged() >>>> >>>> Make khugepaged_collapse_control a local variable in khugepaged() instead >>>> of static global, consistent with how madvise_collapse() handles its >>>> collapse_control. Static storage is unnecessary here as node_load and >>>> alloc_nmask are reset per-VMA during scanning. >>>> >>>> No functional change. >>>> >>>> Suggested-by: Dev Jain >>>> Signed-off-by: Shivank Garg >>>> --- >>>> mm/khugepaged.c | 9 ++++----- >>>> 1 file changed, 4 insertions(+), 5 deletions(-) >>>> >>>> diff --git a/mm/khugepaged.c b/mm/khugepaged.c >>>> index 9f790ec34400..c18d2ce639b1 100644 >>>> --- a/mm/khugepaged.c >>>> +++ b/mm/khugepaged.c >>>> @@ -829,10 +829,6 @@ static void khugepaged_alloc_sleep(void) >>>> remove_wait_queue(&khugepaged_wait, &wait); >>>> } >>>> >>>> -static struct collapse_control khugepaged_collapse_control = { >>>> - .is_khugepaged = true, >>>> -}; >>>> - >>>> static bool hpage_collapse_scan_abort(int nid, struct collapse_control *cc) >>>> { >>>> int i; >>>> @@ -2629,13 +2625,16 @@ static void khugepaged_wait_work(void) >>>> >>>> static int khugepaged(void *none) >>>> { >>>> + struct collapse_control cc = { >>>> + .is_khugepaged = true, >>>> + }; >>>> struct mm_slot *slot; >>>> >>>> set_freezable(); >>>> set_user_nice(current, MAX_NICE); >>>> >>>> while (!kthread_should_stop()) { >>>> - khugepaged_do_scan(&khugepaged_collapse_control); >>>> + khugepaged_do_scan(&cc); >>>> khugepaged_wait_work(); >>>> } >>>> >>>> -- >>>> 2.43.0 >>>> >>>> >>>> >>>> >>> Andrew's already commented but this is terribly mistaken. >>> >>> The argument against it (why did nobody check...) is that this struct is HUGE >>> and there's really no benefit to doing this. >>> >>> Nico's series makes this struct even bigger (...!) >>> >>> Dev - PLEASE use pahole or sizeof(...) or something before suggesting moving >>> things like this on to the stack, in future e.g.: >>> >>> $ pahole collapse_control >>> struct collapse_control { >>> bool is_khugepaged; /* 0 1 */ >>> >>> /* XXX 3 bytes hole, try to pack */ >>> >>> u32 node_load[1024]; /* 4 4096 */ >>> >>> /* XXX 4 bytes hole, try to pack */ >>> >>> /* --- cacheline 64 boundary (4096 bytes) was 8 bytes ago --- */ >>> nodemask_t alloc_nmask; /* 4104 128 */ >>> >>> /* size: 4232, cachelines: 67, members: 3 */ >>> /* sum members: 4225, holes: 2, sum holes: 7 */ >>> /* last cacheline: 8 bytes */ >>> }; >>> >>> Making this static was fine. Leave it as-is. >> >> I wasn't suggesting that! When I said >> >> "In madvise_collapse, we defined cc as a local variable and set .is_khugepaged = false. The >> same can be done in int khugepaged() - define a local variable and set .is_khugepaged = true." > > Yeah I would suggest more precision in your language in future :) 'as a local > variable' and set . not -> is_khugepaged true... I can see why Shivank > interpreted it at as a stack variable. > >> >> madvise_collapse does kmalloc() to allocate this large struct. I was suggesting to do the >> same for khugepaged, to enforce consistency. > > As I said in reply to Andrew, NAK to the kmalloc idea too. > > This consistency argument is nonsense, madvise_collapse() does that because > _there can be multiple instances_ of the cc around for different processes, you > literally _have_ to kmalloc there. > > For khugepaged this isn't the case. We're good as we are. > Thank you Lorenzo for explanation on frame-size/pahole and single-instance vs multi-instance pattern. This was a valuable discussion and I learned a lot from it :) Best Regards, Shivank