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 17974C369AB for ; Thu, 24 Apr 2025 12:10:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DF1526B0096; Thu, 24 Apr 2025 08:10:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D7C6F6B009B; Thu, 24 Apr 2025 08:10:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B7BBE6B00B1; Thu, 24 Apr 2025 08:10:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 968A46B0096 for ; Thu, 24 Apr 2025 08:10:29 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 0268F1D045F for ; Thu, 24 Apr 2025 12:10:30 +0000 (UTC) X-FDA: 83368820262.23.A26C6DC Received: from OS8PR02CU002.outbound.protection.outlook.com (mail-japanwestazon11012053.outbound.protection.outlook.com [40.107.75.53]) by imf06.hostedemail.com (Postfix) with ESMTP id 90D73180007 for ; Thu, 24 Apr 2025 12:10:27 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=vivo.com header.s=selector2 header.b=FhgvXCfQ; dmarc=pass (policy=quarantine) header.from=vivo.com; spf=pass (imf06.hostedemail.com: domain of link@vivo.com designates 40.107.75.53 as permitted sender) smtp.mailfrom=link@vivo.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1745496628; a=rsa-sha256; cv=pass; b=ZerJp56UL67FuMHmW3JYdOBxyMACf323wADun47ZSs/G2Hs+RWvM8/6c3aMr3DigvkQP/u SSGoivIKe9yhSKlJUDNjhG94dZf3hWWtBEelO3LwusUuYuXI5cc5MHqUli/CHlZAwTd1EV foKdYtUIuNQHFQVl0nqHS8cXR/ib+HA= ARC-Authentication-Results: i=2; imf06.hostedemail.com; dkim=pass header.d=vivo.com header.s=selector2 header.b=FhgvXCfQ; dmarc=pass (policy=quarantine) header.from=vivo.com; spf=pass (imf06.hostedemail.com: domain of link@vivo.com designates 40.107.75.53 as permitted sender) smtp.mailfrom=link@vivo.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745496628; 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: references:dkim-signature; bh=43EBdA/Wg/r1X2G9Vh/IR8J/6j8T6H9iS10HEumv+Dw=; b=Dv7gV5dJeupx/aT6JwRtnSjFN1a8hqtAM+euQmJEFVxqb/9ohhpbtflKPOhsVdujJkXh6f X6ZEOSFwCXhESSaZBRZjIZJbFcSrOP6+FEBCc6gOuMpHaLQH1NRIpPNVuaZnMrbg2j7xvW iHq61gwDRhFGqNDxMy5tla4rqY7q/TU= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=e1QgTx1NCVlyR1Nk2XGqlIl+zwdU6BWfTCvMKEoySZW7S504HL4qDi1C2jzdqCpvpAUwewQHzlLmtQxHkJwulmDscMeM+uWCAhefIsiPKxckyuRpe6tswFtob+i/g1ejFSZAdnlRFCZeS+/9LuvGaPq2PealHPNLHdti4jcZTj+I2+dD6nnhKtP73tRPG3C+QpkMTJvsunOl2qkIPkCXkfHCP1OwpJy+8sZGKK0GAi9eDsXmHn7+gcEjvHMcEjOgdGstOOVG1haEzt1ApoET0NZh9WQNKA7k3TGLZnfXhjQaq0owY0MjyO6wm80BKIvNZIMWYu9ak3XeE/9lZEJWjw== 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=43EBdA/Wg/r1X2G9Vh/IR8J/6j8T6H9iS10HEumv+Dw=; b=PZUHlCiek30WOtWBrXsD6GAkrQYaOg7KqMx/AaZ5i+IaG5HDn0RjgxzY5Fha+S3Yf+IZ4ze3vk5iDdxBFY5aRHqw50w4A/sppMia1AE6x1VS3+FzUqON6KWl18WKJ9xXykWCNSwhjiDyJBqb7vJ6ceOoTdtlhj6sGuP14c8el6Hl3FmcrRxLJn1z4Y23vdDwCOStCHOaCaHv1y+wDYgxSmctECVr67fgmk9u59lH4CZ3Ih8GLFDiBAYcbFNh3w7lbyLrcF1xMc5gcPoXLTprRdwB2EirMDO5r7rrur6fGYNOhJ/Ltsos1ssC/H2VyoRthzBAOi1No5IWh94WJQu2yg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com; dkim=pass header.d=vivo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=43EBdA/Wg/r1X2G9Vh/IR8J/6j8T6H9iS10HEumv+Dw=; b=FhgvXCfQtyOGZg4zBV37Ec7TQVNDaWFEweIDN/Ak6MeIi0CVod6Lta3BEEOceODolGgKvGcRQ7UCi+RxFv/8rl93BX7Ja3DwGZC+LCM0wr7QaQVRbfDN+LHpjE4NGcsnoNC92e7zurVgNy57Y66gXCXchYyrSxliz75BXTIWE2XSyxZP9LJvZzCDkGJEEZD2rgbTPPXuKVXtX83qU/QxYsu+FFhquy4z5mLieiukZV5Qj6TmN+D6IYPsEGsxT7WWN+O3dGLX8S9AS0D4nDxZVyw/eWOZ7N5QI0Pa0nnhdFbxVsmAvUQqBHdRtG/GqJcZC9ZOKdpdCjRFDyOXaiFVjQ== Received: from PUZPR06MB5676.apcprd06.prod.outlook.com (2603:1096:301:f8::10) by SEZPR06MB6231.apcprd06.prod.outlook.com (2603:1096:101:e8::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.25; Thu, 24 Apr 2025 12:10:18 +0000 Received: from PUZPR06MB5676.apcprd06.prod.outlook.com ([fe80::a00b:f422:ac44:636f]) by PUZPR06MB5676.apcprd06.prod.outlook.com ([fe80::a00b:f422:ac44:636f%6]) with mapi id 15.20.8632.036; Thu, 24 Apr 2025 12:10:17 +0000 From: Huan Yang To: Johannes Weiner , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , Petr Mladek , Sebastian Andrzej Siewior , Huan Yang , Francesco Valla , Huang Shijie , KP Singh , "Paul E. McKenney" , Rasmus Villemoes , "Uladzislau Rezki (Sony)" , Guo Weikang , Raul E Rangel , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Boqun Feng , Geert Uytterhoeven Cc: opensource.kernel@vivo.com Subject: [PATCH v2 0/3] Use kmem_cache for memcg alloc Date: Thu, 24 Apr 2025 20:09:26 +0800 Message-ID: <20250424120937.96164-1-link@vivo.com> X-Mailer: git-send-email 2.48.1 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SI2PR02CA0004.apcprd02.prod.outlook.com (2603:1096:4:194::14) To PUZPR06MB5676.apcprd06.prod.outlook.com (2603:1096:301:f8::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PUZPR06MB5676:EE_|SEZPR06MB6231:EE_ X-MS-Office365-Filtering-Correlation-Id: 8021f9cf-8c55-444b-3417-08dd8328f9f4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|7416014|376014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?stpIJF7XR91e7LWWe3Qb6GCE71X1TB0z4ZPK4K4a+chp3XkCBlS7GC5hlmyR?= =?us-ascii?Q?LcqShDP7yGeBFDQLd1JHGbtGsld0iBmzwN0SJnRVngVCc8lOpgoGnN1zQq7M?= =?us-ascii?Q?0GS2dZLn0fd+84FSYp+eX57oaLW0llyNjK3v6zZEW1lAVFMt/IDfdDJoj5Sq?= =?us-ascii?Q?EbULcnjHxnVpCJ6uC0W/CnhWdLkWxEVFzmgZcSRcb5b641KFMz8vtqlSpGgg?= =?us-ascii?Q?4Y7wEzLKLWkfCGGYlXXYjuFr2mc162ASfj6E2rMqhSRrMLZj6XG4zo0xRnx/?= =?us-ascii?Q?EvNoKA3bjlQlOYz84gJVph5O4pLi81L59OU+ORmbu53gwoXNpNiAptpD1XUL?= =?us-ascii?Q?anRyEBb0ILeGpk2zRN8MCuLkA7Y3Fo1qtXad92J0Q41i8XS152X6tvRcFkHc?= =?us-ascii?Q?R+ek7K5WnIn5Ay2ZoSQgRCf7N9Czz97OljfI/y8evomxd5cTgbehMMG5aMD7?= =?us-ascii?Q?7OBPlOHEIuuO7TbS4h9e3O8sSwyCJOde75w/O5DbaKQvRbF/rCxhZIP/idA4?= =?us-ascii?Q?4RiZKxY/e6DuSM5dM77JJlVCM7cK07Y4bkMJnhyouEapONRehzs5MMq/kZmK?= =?us-ascii?Q?A4UzSB6vdujxZ/+WSgFnFOYgskJImrWAIJkaCANZTO/wvNoGO5+mI9MmqnaT?= =?us-ascii?Q?JxiNHYu3pxWhKQqatXJHfv+Y6NZpiNLb6qMie2+BoHOL9Rd9rlogKBXeX14Y?= =?us-ascii?Q?0fRrzIqoupIztWStyO+yXD/xpJkN6HRCndGk4YwWtSPshV6veqUWnoNhCVmB?= =?us-ascii?Q?W4q2IE6f5e/jRGpJkPbDPxSlPBCVQ+RfheDoPHwE4LGEz8aszA3Kxg12mmOz?= =?us-ascii?Q?4fPgHTsTeYas/sWFE8Q6rq/MwJcghn9imPc9P4zC/iZQ2PJ7YR6MCQL33zDA?= =?us-ascii?Q?X5Z2MbhsGDIE4bIu1GdQBbZ9oFyAYhDk6Q3kgLxyNW2tUWYs1xvY9sSiHJgm?= =?us-ascii?Q?rSb4UMeSAdoD4f5tZF50kUtvvl3fOJLK6QswkQy13ah5Svh5c0lSt3TPIP77?= =?us-ascii?Q?uwCNdp5S62fn95dI104BvdHPU7r5cTCfOFG7fjLcfIIJiP1hv0VrfveWi2xW?= =?us-ascii?Q?9JY+EDDC7LctRyBSbrvzHQ7Yr+V2D6IHiLi5hZPsheOFHX39cvX1dnUFsyy+?= =?us-ascii?Q?VyYHer0WhXMqW0B0KXPxlhk133f5BZNJOD5cbSg2iUw67EcezSB7xbjx9B08?= =?us-ascii?Q?wvpripSKooKlo7iQakXUmppIRBC0RLGbDxoXCkDhXpr3Vh66CpSTKoSI+HsB?= =?us-ascii?Q?eVjPfk7ij4Ix+wfcS2zRxTfa3fx/Cj3ioeoK4ijlmVpjuCt9dygiM0cq+4eG?= =?us-ascii?Q?DEZdjJawGBEodcugvVlVLOnwakzew29fwqk7dB8BXhtyJwtW3+7Od7HTLpt6?= =?us-ascii?Q?q5RzkUMazm27+xZZtfXUhaqitKBORdRQ0m6S57gjxsHd2yDv24EqiGgEm6Ia?= =?us-ascii?Q?jFd6KlIp8FibOJJoUfWt3GULxnlYBSnvJm31A9AaU2rpQhh25Q0fMe3+IPGl?= =?us-ascii?Q?y25k3NtsHgG47O0=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PUZPR06MB5676.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(7416014)(376014)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ilQTRou6nd3wrZ9zusVR6rnmTiDj+1KOl9Grktfjo1cOALzNyegtfTHCktvc?= =?us-ascii?Q?jM7yyYDhR34lU/YIEtEDMVPf6xMq2ANEStX2DEKs5B1krlmrJ3BGPol7cy1i?= =?us-ascii?Q?PUUHEzgjEiOmfx6t80nuCwyz8XRM7Am1cqQN/U5ycabz9QBEtSU0dRr95Brp?= =?us-ascii?Q?wm5nvMKcMMfacDyVQw5nVQofx6M6oDnWkojFUy+6scbw0JEpXm/Pl8XCWiCj?= =?us-ascii?Q?RkoQKwkgbqFDaF78eSEPDK9nlcQuCTPgulNk1LNE9khgPABiVXbb8r91gjtz?= =?us-ascii?Q?UCTRkMUiHlWDDygpJxU+PTN9VXdwdnnTJK3uz8L/tHCK/5lO/zGIy6NSDU13?= =?us-ascii?Q?jOISBGi14dp4NjXujRBGfpObuAft7AiqkT5L8FufACGTfgPqR3I8eJGD+0il?= =?us-ascii?Q?DqHDJOeN3rSyHG0CaMgu2T023giLE1QhvWvTEpotnokKm2wuVVdTovTbo9gP?= =?us-ascii?Q?PAyY/RrWI5MiaCnln67aFW0zmGiJ4b+eEa2DOXwk1CN7w4T/fkfP61ZTN/g8?= =?us-ascii?Q?Vg5w/ZHTY1+J7UmMgGicVQLNHwYn4N+DSyC4eCQhP5mwC74VnsDw/z1Xuauw?= =?us-ascii?Q?z64qeSxNbXcgfQi1WzYrC8zcPl2ok9DmPuuYPQZa7u7/YFQbTPQrBcoMtNMD?= =?us-ascii?Q?+0Eu4nHuPkJhN0X4wh7AJR55GzoBceuErQH2WCSZI6Tla3GfV7Kmf4ytmrEF?= =?us-ascii?Q?qRLTnvw9Wv1NaiGqU4OMGpWoHBYO830GEhQYPn2xp5uLs8PgKXR3r1pRCG8L?= =?us-ascii?Q?c8NDUIvbwZDzrXD7enyoZOB5abRu9CfRoou0nBD32VbIkQPIzFwlparImxDb?= =?us-ascii?Q?VuUCVy9o98hYB1VWb4DubTTBgAZT2VHFjNkDwrDU0xDrg/5DhFOMwsuPqJNX?= =?us-ascii?Q?ujeSZ9spX2CL9p4pxsov/B5YgccqLgqtzUvIJFau3jsMNgkMJeoEvNKW4U3F?= =?us-ascii?Q?F5ZRtX4+4u9Vk8M8xHo2ir27OeXpYw0wH/mi8KDZGbGbVcTneE43Ol9MESOM?= =?us-ascii?Q?l41/Ridwpd3oIW7Lm3rVlUDOGPB0VAZVuzNv5mVUe3ZjbsvxxtgIxjInPLjL?= =?us-ascii?Q?gfGVBUydkKL1HOk1fhOqptCFjsOJNLxxYEHM05D8JbArGYYtThcJ2qWCcgLq?= =?us-ascii?Q?dRiVVKSm/rODSe3BqFc0Gsa0tpeOd1jYZMIXzWroxmy4NYMwTxPvpAqylAvD?= =?us-ascii?Q?7FQAIa5JyJUhzYl2wMWtr+W2fTzxyhUD1//q0PjClfZrHs7PTeahf3fmPGPV?= =?us-ascii?Q?aelcDMkcylzQGxAOfE98o7f05MzBWVtzBpx3/6bcUZ+4sJ6YjZ3lpVAXuAHl?= =?us-ascii?Q?wxjHxfnQsgYicVjYdqauLdbse5WlIHqSly63WXl/0xdFo1seMKmqDkdTFTAZ?= =?us-ascii?Q?iIe+fh5B4+u75G0DaRFeZRr+JAcjE6VS1ANBpRJreekn6XTXPW25xy84VWZN?= =?us-ascii?Q?p3g1wYxEdqV8YITqV4Zjc3CJncm5zSAdBxn0DrxAStiR5MKvfW9tEfhQ8O8n?= =?us-ascii?Q?Lk+05YTHK2LUAAeNSxNh2vxAPMKo7CWtuFPe699xTcfe0f/XU5PlA+O88Zwy?= =?us-ascii?Q?FuagRPUvxJNpaNqwFXcAihw8oj52SUnEZjQy8a5Z?= X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8021f9cf-8c55-444b-3417-08dd8328f9f4 X-MS-Exchange-CrossTenant-AuthSource: PUZPR06MB5676.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2025 12:10:17.4182 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hNT2EZF0D0+K8tN0UFrqMyef4qs53MGsYBCmm/FvOCIFMHAiOUQ/l8o5RFaQZiygdpoqPJ6r1kht4P1wecrU3g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR06MB6231 X-Rspamd-Queue-Id: 90D73180007 X-Stat-Signature: w6qdxygafozn4wu9stsykkt9wsq8sxqk X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1745496627-288407 X-HE-Meta: U2FsdGVkX1/CCUeK/D5m7nBrb/z2SBwubUDnQdVGiuPMBjpAuq4YwhwDSaR7unWDbJCsXN9ERp0/7evIJw3Cy/Usc+yBv3D6Mb6k8qRuOz/OOoW22QU/iX1se9olargBeLvQDhvmtLAgmRX1E0RGwOLt3GFu98dt7YdKsUmrQ4H3rG1vLS+NRj9t3judxaoaV2x3eHdVxTSk957bg8fYhBkXzdDUYBx5vWykx8STyr0pslJqY5NdQq8O7OAZxBBm4LXkVrYKq4oFotZZIN1qLFihqiiS4qZP7hZXNDpRkuzRvsF5UYc203w/dG0FPFGZOEmKF494Sx0DuBZ5XuhOLEbSA9fp8h8wokRuCLthXRQANKUlT4UIpqs4Kuj+aLayfp8EP8b5sEytEXJHo+lSwiDdoNoLKO5PgTQHJkCQGFsyaJMbpVewIKikVGg8dVnFa3sKejcyWG9+WjHz95ZJaD30/OLYiNQCeyjOKdUF438E8IQBARmgpYhX6cB6teZ5NmXOLE7n+01Tr61UNLZYzpa9wEGus+DgRdx5aZEpK2GyVtX5sChxYdKtQwtwNFwXvzHunNMnZjxRkENhpQOw/6096aiimjHg6r43RDjqnpL/PH1NHec8xjv2WJWL05rQVZM5UeSP8bNmVXjzUxPrwAz5LD/nnARHDxj5jIvzPMJ4AsWqbw7ezZL+SgiWgUDkx5WrCLHTCIo/3rKU1ZOcpshUqM9Jaq5CINU5r5d1YhaSKu656/WKi+JpTNifgE2h+7ScPu86E2zhFe20I6SJq1C2v0a1ICjItU2LYUNZZ2a7m0CWBP/gvKJxDd/dqQuX9VEOdbRBqNEjBWY/0ibNfxd1qZXlh38wcavEm0pV4z8iVuAj4IJHtn5zNObEtNT28xqOF7FzMpEN8qIC1jyXeobzWTkFJvFpxzgiM3SbGvIpzi+uNbUJ29lprJUlThmFbJxxPZQMrbm/eFe4jdF cVOiuov7 jANaRkdHV7vd/dIsEsRRbClMryD3HfTR5tBqEyidmeyDIKSaq//YIe+pTIPfjGxDV3iAuxrGHldhqa2hLY4zhX+ZjONCs+VSQ/eDPlJadbLF/ZLnWxxibyaZg441tEuE5afTcwubav0OXdfXiw7dwvSGwXwqvKBl7uofDpVo6fgVYTiRMr/bK28+G5K9FYlyFp+0H0oAWcJ5A3i9MyUtotEUZGDaCo4UzgPgGOmH0/NbA1Aj0ySYnl4+izIX/0FjAdB5Kk/6MkMzl8ctuKVeYdJH5+lKdw2+OaIEcvgOH3gCKHEY2nEv1h2ysJks3HN3ocffb6zieITVk4pXuD9RXIVnY/lqIIdWI+6qL2kULYmpOOPUtgV5PDW31HKbaUbfFgud66vYXS39BsgDegrJbbgn+/iSQQ+SibJfrs4XaCcYxC8ko5dPfc0u77C3IRdGqNxOqOcDRXQEz+GONr55Grf/LlsjeJFx88FPqVtWCD6lqlCPkgjkMqGIS/SS9xAkT5K4lvvq0ndUlNSoR8zLC1vTvmA== 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: The mem_cgroup_alloc function creates mem_cgroup struct and it's associated structures including mem_cgroup_per_node. Through detailed analysis on our test machine (Arm64, 16GB RAM, 6.6 kernel, 1 NUMA node, memcgv2 with nokmem,nosocket,cgroup_disable=pressure), we can observe the memory allocation for these structures using the following shell commands: # Enable tracing echo 1 > /sys/kernel/tracing/events/kmem/kmalloc/enable echo 1 > /sys/kernel/tracing/tracing_on cat /sys/kernel/tracing/trace_pipe | grep kmalloc | grep mem_cgroup # Trigger allocation if cgroup subtree do not enable memcg echo +memory > /sys/fs/cgroup/cgroup.subtree_control Ftrace Output: # mem_cgroup struct allocation sh-6312 [000] ..... 58015.698365: kmalloc: call_site=mem_cgroup_css_alloc+0xd8/0x5b4 ptr=000000003e4c3799 bytes_req=2312 bytes_alloc=4096 gfp_flags=GFP_KERNEL|__GFP_ZERO node=-1 accounted=false # mem_cgroup_per_node allocation sh-6312 [000] ..... 58015.698389: kmalloc: call_site=mem_cgroup_css_alloc+0x1d8/0x5b4 ptr=00000000d798700c bytes_req=2896 bytes_alloc=4096 gfp_flags=GFP_KERNEL|__GFP_ZERO node=0 accounted=false Key Observations: 1. Both structures use kmalloc with requested sizes between 2KB-4KB 2. Allocation alignment forces 4KB slab usage due to pre-defined sizes (64B, 128B,..., 2KB, 4KB, 8KB) 3. Memory waste per memcg instance: Base struct: 4096 - 2312 = 1784 bytes Per-node struct: 4096 - 2896 = 1200 bytes Total waste: 2984 bytes (1-node system) NUMA scaling: (1200 + 8) * nr_node_ids bytes So, it's a little waste. This patchset introduces dedicated kmem_cache: Patch1 - mem_cgroup kmem_cache - memcg_cachep Patch2 - mem_cgroup_per_node kmem_cache - memcg_pn_cachep The benefits of this change can be observed with the following tracing commands: # Enable tracing echo 1 > /sys/kernel/tracing/events/kmem/kmem_cache_alloc/enable echo 1 > /sys/kernel/tracing/tracing_on cat /sys/kernel/tracing/trace_pipe | grep kmem_cache_alloc | grep mem_cgroup # In another terminal: echo +memory > /sys/fs/cgroup/cgroup.subtree_control The output might now look like this: # mem_cgroup struct allocation sh-9827 [000] ..... 289.513598: kmem_cache_alloc: call_site=mem_cgroup_css_alloc+0xbc/0x5d4 ptr=00000000695c1806 bytes_req=2312 bytes_alloc=2368 gfp_flags=GFP_KERNEL|__GFP_ZERO node=-1 accounted=false # mem_cgroup_per_node allocation sh-9827 [000] ..... 289.513602: kmem_cache_alloc: call_site=mem_cgroup_css_alloc+0x1b8/0x5d4 ptr=000000002989e63a bytes_req=2896 bytes_alloc=2944 gfp_flags=GFP_KERNEL|__GFP_ZERO node=0 accounted=false This indicates that the `mem_cgroup` struct now requests 2312 bytes and is allocated 2368 bytes, while `mem_cgroup_per_node` requests 2896 bytes and is allocated 2944 bytes. The slight increase in allocated size is due to `SLAB_HWCACHE_ALIGN` in the `kmem_cache`. Without `SLAB_HWCACHE_ALIGN`, the allocation might appear as: # mem_cgroup struct allocation sh-9269 [003] ..... 80.396366: kmem_cache_alloc: call_site=mem_cgroup_css_alloc+0xbc/0x5d4 ptr=000000005b12b475 bytes_req=2312 bytes_alloc=2312 gfp_flags=GFP_KERNEL|__GFP_ZERO node=-1 accounted=false # mem_cgroup_per_node allocation sh-9269 [003] ..... 80.396411: kmem_cache_alloc: call_site=mem_cgroup_css_alloc+0x1b8/0x5d4 ptr=00000000f347adc6 bytes_req=2896 bytes_alloc=2896 gfp_flags=GFP_KERNEL|__GFP_ZERO node=0 accounted=false While the `bytes_alloc` now matches the `bytes_req`, this patchset defaults to using `SLAB_HWCACHE_ALIGN` as it is generally considered more beneficial for performance. Please let me know if there are any issues or if I've misunderstood anything. Patch3 - introduce the mem_cgroup_early_init() function to pre-allocate essential resources before cgroup_init() create the root_mem_cgroup. Currently is create memcg_cachep and memcg_pn_cachep, so keep this struct alloc cleanly. ChangeLog: v1 -> v2: Patch1-2 simple change commit message. Patch3: Add mem_cgroup_init_early to help "memcg" prepare resources before cgroup_init(). v1: https://lore.kernel.org/all/20250423084306.65706-1-link@vivo.com/ Huan Yang (3): mm/memcg: use kmem_cache when alloc memcg mm/memcg: use kmem_cache when alloc memcg pernode info mm/memcg: introduce mem_cgroup_early_init include/linux/memcontrol.h | 5 +++++ init/main.c | 2 ++ mm/memcontrol.c | 29 +++++++++++++++++++++++++++-- 3 files changed, 34 insertions(+), 2 deletions(-) base-commit: 2c9c612abeb38aab0e87d48496de6fd6daafb00b -- 2.48.1