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 70BDEC369CB for ; Wed, 23 Apr 2025 08:46:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2E1C56B00A3; Wed, 23 Apr 2025 04:46:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 290BA6B00A6; Wed, 23 Apr 2025 04:46:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 06FDC6B00A9; Wed, 23 Apr 2025 04:46:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id CDBB36B00A3 for ; Wed, 23 Apr 2025 04:46:04 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 501D8C196C for ; Wed, 23 Apr 2025 08:46:05 +0000 (UTC) X-FDA: 83364676290.09.6C8B9BB Received: from SEYPR02CU001.outbound.protection.outlook.com (mail-koreacentralazon11013059.outbound.protection.outlook.com [40.107.44.59]) by imf23.hostedemail.com (Postfix) with ESMTP id 74C4714000C for ; Wed, 23 Apr 2025 08:46:02 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=vivo.com header.s=selector2 header.b=aPjT46p1; dmarc=pass (policy=quarantine) header.from=vivo.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf23.hostedemail.com: domain of link@vivo.com designates 40.107.44.59 as permitted sender) smtp.mailfrom=link@vivo.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1745397962; a=rsa-sha256; cv=pass; b=iQpqV2lD4IjFZJbsro6v6tJ/If40guaecQTuozG8JBeA7+MRLzculU8B8pGmo/gvAl8ShM rlB91ru6LBL11xfLi73NZkV3HmHv0GYet2VVCh0uUwDFmaWW3DRkS8jP2iiaX8t4S4QklD eB5ouraaHjalK6ogRW5Y22SlwnHNplo= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=vivo.com header.s=selector2 header.b=aPjT46p1; dmarc=pass (policy=quarantine) header.from=vivo.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf23.hostedemail.com: domain of link@vivo.com designates 40.107.44.59 as permitted sender) smtp.mailfrom=link@vivo.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745397962; 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=g/La+0NHmzjTuCXICSobiQzL0eiy60djY+p1IuQbiqU=; b=MnuiKjy3ZqSe/k2zdt7xQPCcFKDV/ZnTFocZ/Uvv/96OL36ih9JqVj0jdtoi2KsSrIikqN soXIk9z3hH2PG+YhrmcU7Rj3C7NzvjR4rhtxSy5DVlJ8Q/i6iy1rDQjVcDL85KNSEve0Mx S4nbZy3irqT6I4IOmi3vkYoa9xyOUi8= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=te5k2lV0ZAJLdSWLRBK7N+BJU15NKyiB3oEfleqxCs+/DlkAnn20kI6D8RqFovKHZTv5i4Q05MAJ1TNdfPYl6p5mGaM3YsHn9yCiM5SWB9YZuipPfsXEuTXUhfV//l2PiR7k6XxDQzRUrYrL/dFMKoNvk8VsZqfHPxhM8p5IKJsGHpJUKzrUW3zLMD0vqL/qwfVX8//+AI4Zd1kSmK398xW3npusn99cU8hwDPNLZkvoF9lG602Rr62y4k6gJIkYn5IOyFyxcxutOxJfgQZmSO33feGLEHOOZumL/KF9nhflGRTwKTtk59vap012agkCm1BQ92FZjaoYVy8eXUqKYQ== 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=g/La+0NHmzjTuCXICSobiQzL0eiy60djY+p1IuQbiqU=; b=OX0IAbhq7KiS9k1KLOUu8Kuvq3zlW5zKwI12VtvCa3bbyu99wRfe3nj/92Gars0FsgSWo2TU5cRdBvyHrnay6puD4THRvZjs3jS1cff2FJ69UNBNZXDmYm8Q7I+xIAWCEafrgNJFG4BwBwz42Obkb/0H1ikKX0jfmiuZnJSIZMu/nWda/fnqBGTPhkh148Jo6rb2Lb/fDxgQhPQ9FUmI26L/oia9SUuyuNAFiEfse8pWzr1zmq4TE7rN7Ym+otbWFXW19ioynUBASZE+qs0Uxhq1hDJ7oe0h7+YJG1AcwL9/oMbpRKG8PWZFf8rBMhgVtIi4HUTv5QvIAyv481PTJg== 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=g/La+0NHmzjTuCXICSobiQzL0eiy60djY+p1IuQbiqU=; b=aPjT46p1w/Ct+dhjcYpJZYIkuZQHJyqrn1rFgZPpBslIkfpWSNAV4x4SOQTK4m9IC9sqjl9VwtsfAvStXAiKYQQKbucc+uV//5NMnKzmC+PXwjsuEinOg5jfa0c7Enk2q2j/gh30bvvGje1DdJGyA5rQpAovcVOyiis0xtuFudv4J3+Z4O++SWuSSb2UVNxS/4C4jYy9qaA3Ui4iCAt712o8sduzCG1lItPCdD7ltEUPTShXN6qlEEGQAOtqyuP8n7kqQY7MbglsIO6SNCKm71ugmwCOAKJzeUHPeT9Nw/VKN9tmxk9GvlWuIV2XOhz1kDLQZXHVjdPE972D4B+vdw== Received: from PUZPR06MB5676.apcprd06.prod.outlook.com (2603:1096:301:f8::10) by TYZPR06MB7275.apcprd06.prod.outlook.com (2603:1096:405:b8::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.36; Wed, 23 Apr 2025 08:44:21 +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; Wed, 23 Apr 2025 08:44:21 +0000 From: Huan Yang To: Johannes Weiner , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: opensource.kernel@vivo.com, Huan Yang Subject: [PATCH 0/2] Use kmem_cache for memcg alloc Date: Wed, 23 Apr 2025 16:43:03 +0800 Message-ID: <20250423084306.65706-1-link@vivo.com> X-Mailer: git-send-email 2.48.1 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: TYAPR01CA0162.jpnprd01.prod.outlook.com (2603:1096:404:7e::30) To PUZPR06MB5676.apcprd06.prod.outlook.com (2603:1096:301:f8::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PUZPR06MB5676:EE_|TYZPR06MB7275:EE_ X-MS-Office365-Filtering-Correlation-Id: 6f9dbb62-d877-4a96-cb87-08dd82430a80 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|52116014|376014|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?YTaHCppes9V+H5ffjX8Egg/vUf6VSQiKsv07pjnnDyEKvHb6ylGucWusl2v7?= =?us-ascii?Q?xOlG4HjPj9shPkXekituz/35sIZrIckFQ6cU9wSJ2m7cnEro/xSOlE+htF89?= =?us-ascii?Q?w3iHHH0xkd2nr9a68zjx0q1DLfaHVsN/kJ+1C/9hC36ollbx9UntCQWIVJ2K?= =?us-ascii?Q?gIeA5vTGRc5zXHYamhUWSU8cQta2TLvZ6qFts4NX1sX4xFH5AgxS39PS9Vvx?= =?us-ascii?Q?CaIfTwtfL5e+SoaBy66reko1Z/JyoMIFjy40yqrQommqSayCzFePmWMetk2c?= =?us-ascii?Q?DiuaY9yoUO3KKX/jx7Uq0gv3Ph5w+42crYY17nzdJg/kaHA3TofY5xkkD4lk?= =?us-ascii?Q?iIJCFv0zPMQNhKCws/Af+rw3wllHvOrCs/KuzvrrmtcVQnN8JVdWWeDW0ljK?= =?us-ascii?Q?JfqCVQPoCsh5B645AbyUedhxByQZr9Z60jX6hSfqBYdy61bPe7iywA8E3QyS?= =?us-ascii?Q?a4peg0YoVq6ZYDqT/mtsYz12QtJa0kplkI+u9XAzfd84USH3ZWMDXsEk5lrP?= =?us-ascii?Q?zzl5ghQDtZt9CGoV9vgGVzFKFwQm/xry48Apuv2V8FBdjsEOSA0IAfrWY5vd?= =?us-ascii?Q?gsKT4w5fq8GTgyQzqqtBbWYso+CqysGchgg8bJwm+CBaOczzpQS66a4nDpBE?= =?us-ascii?Q?SyBFcWfdnkcAyPgdWICCLbZU7zR/yFkcZGlDtt4Hfa3IajIYMzThcfWYRor8?= =?us-ascii?Q?WOfIDcACgLYuS8nxr/l8CK+nxTotTHQoe63L3pUz1ZnWmH/9A60jmmmQg1y0?= =?us-ascii?Q?qcZw/zAjquJWCNbSVspfcYjHU45KQt5gvFDBG1vDvqm6gEwBkMhT/+2ZQnC/?= =?us-ascii?Q?VXugyZjtIgnW90an9ctiGCC5OyNzBVogS2LnmGWsyq5+B68Mm5HIXui6nlEH?= =?us-ascii?Q?9/BpAFabWpmR08tFNucXLO7Y5gZ/KrdaG84ZQ9xJnxCa9Yo+DSCPHypOVjdy?= =?us-ascii?Q?d9zxOAEs2cgwpvAktjeE98sloA3cggoVOt2AoFCkPHxArvFXvUvJv1zbalDc?= =?us-ascii?Q?Ps0O7IqAukSPn9J/30exsE1qxB8E9oiy5CiceHRl070BCLcj8QQm1wNPe1Jc?= =?us-ascii?Q?3gfXpW6wJU9D1DPMvN9R0MOaFwhcEeICJZ9CUbu0tUZEhGqM2y83IwRKb1Aj?= =?us-ascii?Q?eJm2OR2PQIXswcRKn9Yx0mlcL3Ix6A7uf3UMVrfKvk2k4qk7LLkmsXMCjcIT?= =?us-ascii?Q?7ECX2KzO30uU6A4sBSXna8PeEC7+mhxDaIF419Kiu0Td9LH8/r3H8XDyjOIF?= =?us-ascii?Q?NceGLmECL5jpPNC9DJYi53oUaLH9jKtvzDYrMh/cnGzrFpoVDYoj+RDlqdDA?= =?us-ascii?Q?X+Ps/no8uGD4b0U2vQj/9FyqNLbeOdlbWV39wLz6Zyqw3nQtfJXrmxGAtAx7?= =?us-ascii?Q?Y8TGrDbM9HfLq+ssIeENHwG8iTLsMEoe0eZsSMz0zo/wFYerRMFPhOpzIldk?= =?us-ascii?Q?xwM+WBXa6tT109tJxKeZj/RjE1AuIrfzbnejzPLtQcUtFl5ZK4gMxA=3D=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)(1800799024)(52116014)(376014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?g53i5z2vjj/URkmtAOu/PbKX8OxPtOBGtw3sOCTEPOalx1pjBdZx7PI5Ibew?= =?us-ascii?Q?5oTHOTs/qXo1VGkGOtWVaQnmWlyv+0EmrZA7QCrD41H+m0CQoaj0QceImkmG?= =?us-ascii?Q?nbysqV4NnOYUElofhWYPp9j0w3qYuTKmmFY2UdrYTvjyRaUzaISpdOKp807m?= =?us-ascii?Q?qxw921w8d14e0Uqi+woR7Ldi4YmyLa2zv0xJkZp44M34tKv0pEoaRgJSrM/F?= =?us-ascii?Q?Qpe5vHBxJPKINn0whPD8oqLJ4S8Y7aihRtXsvCxN/8I6k2FDDzJojJWbavMx?= =?us-ascii?Q?kVXLVsqRdmEoroLcyq6//DHSZ+dOgBAkDrQvgKmINQ3Xxd2qGEFfPX2Ivobr?= =?us-ascii?Q?ZBttfsDJNradNsTzrPxtwXgu21lfowIuzKdBL+eZiDBqNhUZlRd9ZM/9M0lF?= =?us-ascii?Q?BEFq8uy1tR/z35K0dSCM7GNpdckK1ccvp+1n6VQl6ip5vog7v7fu7wbm0dvT?= =?us-ascii?Q?+8bXydxgQ2K+Qy1qTmwkC6t9Hfa4PdWM9XUQ8O8A7xK/VW8zxp3IV4m/uZ/R?= =?us-ascii?Q?hClTuHVzZlTgm4v4M78ob6SjByxqyCyNzUvbRvVkGpGkPbcK6y0FzDBR9TbU?= =?us-ascii?Q?ysnbJWjikSJetvL9Hf2b48FARO8CIKSadeEXTsXkyu9zRQJonRrsaPNZajaQ?= =?us-ascii?Q?pjpa5r0chmCQJ9rGz8I7kfm3r82jKApJXuFIbpTZJt6MrsVvTUuuavrxXfUr?= =?us-ascii?Q?jh4lU3eqBgkCIP7s6FbpkgULfiJaa2aYajjYBG7QLwstGv3N7RJiwMQAW7QW?= =?us-ascii?Q?OmmCfAWDu5vOsYU5QFumvcQuxF394S/UTbYyrPb5ivPZp8AdvKkHowtjOU4s?= =?us-ascii?Q?bwMPIbr96JHhtQ1Zc6k4HjE9RRqcYfC6lEnAG6xrMwlGL5pc867p567PeEC6?= =?us-ascii?Q?f/BH2ocFLVIb2hg3bqxKFntoUDaG4myYYoO1gE9VyjW1IU4woWwQhzRMbRlA?= =?us-ascii?Q?dmpA2XGUFFj2AnhZXf7mH71WSCi4VNOyM4PHBcsJO7uAT1u1b+5JACT06Hrp?= =?us-ascii?Q?E69eEDkDaBF5NsJOAM0jaJOcwc5YfA/d9OOKe5isvYW6djGyxGHVet73jOK2?= =?us-ascii?Q?vc91HNzHVuSxXO2/h9+cRVYA4MeyKgo68Nj6S0FMLkI++97VT1teqt4t4PVP?= =?us-ascii?Q?iCC53mCEhU4pUS7qkWxlaOl49/dAdUYi26k1dYjzYFxv/JoAoPKOJ7NY2i4C?= =?us-ascii?Q?e3FL/8K1hmOvH3tVSSud7NviUsbyvIU8pWhXqI4ExTTKB5nVb1H0IzgfOM1+?= =?us-ascii?Q?VfsEIkqiQo1SqkYQLE0pFWuqTaiULhabLI2iPAj/Em89Qa9sN88R83JSzO5s?= =?us-ascii?Q?MDsTk+nT6uhi3SrgzZs70QsTiZ4Q/R7JNv/6mfYsUtc1dJjOPSIVL92KVoZI?= =?us-ascii?Q?fZhWPB8OHMPF/JWupgccuogDpc21aW0eVIGgIb7hO/flfNppr1wspVsIZZG8?= =?us-ascii?Q?agKsXObOzrE7OjNWAam7R8N+hjnhuaG+9wb/fmt5UNps4aJ30bassg7bTtAp?= =?us-ascii?Q?x4QCenlbSdau/2gGKfdf8pPBuROY+xcmI7iwIoM14q9sszE5jgmxVv+MBh0E?= =?us-ascii?Q?dW1jkmJf/3xU0bxqAC1bwT0MSdelatEol6flZOHQ?= X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f9dbb62-d877-4a96-cb87-08dd82430a80 X-MS-Exchange-CrossTenant-AuthSource: PUZPR06MB5676.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2025 08:44:21.0237 (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: 0HXwG0gBWlk8mWLWvuUTffz3UWMEkuSDtMS/baIbH08saXH04nW1UkJXInRVAvhsuxxnOxdUujSpXY6wDt1p9Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYZPR06MB7275 X-Rspamd-Queue-Id: 74C4714000C X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: yiojq1susi78g69e641nuiqzhjhpo8fy X-HE-Tag: 1745397962-570329 X-HE-Meta: U2FsdGVkX1+QhmYDlbez94g8Lwe0y7KaEK/YnSSh40RtZksnASfxYRqF8UnnoMeA589ZjCtZnpyQwc21nzIsGsEqWCr6k/X0d5NOFAJnFJ+fio4M0RXrQT7CTv26526JtrIlxvdQnopCEXgXfMRCpAwOazfRhtP747G5Kg9P5KddX2jtC48/LUKhsfHiqDqkrUoDcs1ktaGxYKsHWqBow5+O9WWRM7519wtXfcwq84TMFn4LhckKMqaJkfdtDkTvmVpSz3TloH871wnL9SzCukRirFBs0vUnZymtS6Kk5aoHPZWxCkqvqRE12X25DhJoP+FfdkWSw15dKHqkZU2/QkNNVdRcCTr3UrqdqtcpGToj+8zgOZOAeCpeooOpzcoOgIFRZqjoI24bk3lQXLhfBjtbBi/6xqCpjMt/QomenheFhe39Zx/r9lz2JYQx678BuO4zPnmv3Om+HeE/TZmY3RZ/OH29Nkx28eeq0TeyWfrl8nwOn5U1L1SSxWH6nbaJc9CRnlNi/h3OKIwoVI9HxscojjfnNyz2MiR4YpJed4aWkrid+c6jg78fePfuDVeG8Lp6dcZFSNb1Gc08fczGjgvVwn4lfrRvBxtTsOKFG1BaJlttef/p+JvQ3EcAqt014aGky1XXWZwcn9iqyoeJyd0GPOUjiTQnaaqgJlvuO8deIrDJbmBDFMW9FLTpqELVP4MPXbTsRX8gQIuYzERnqRFCJWhL9DqiIfUtaiLIV8Gy/MH81t3rUw1aTR7AlGiDAxeE52Esh3yB0zoEqBPNMUc52lgl/rHaVuSyzi86f3rfKrNEW2f7+LhKgB69tAJbw9r7AFcG55RFaCPbF4pP6PYxuD8PkSv+SpEoVS+rv6iC5uMaA0a63rqIlGWi/KM9fatWDkvJWtMlr1Pl4ED1csWHkQhM2MYByyGQvc6n69hGf+R9/WoomkQG1b7CQbEh7I3WvKthJ65rVStxwvv b+/Qz5te 5Jd121fr9r3pwU5kN8++i6V8Kf4z3EvTmmn9lq3aZxl9ROc50baVnIXDnaNVGHDb3+e6b30aiXm0bn2hWFtfrGwiCy8yHKwUB+u5C6ZerhBGWkn4S+C0ZgPBiSZh+PNOiLTJf+IqlQx2lj2HMCj0NJMCnoi2Ph90kwvCHLqkXbavMScmVxhLPlUozB6LKgLikWo2HCXbYkE5CCAzwgDktnWEHkWdg4UKKY3MGBYSCeo0Y5uNhKPUMK3G+XPVLitoy/N1H4Wso7y3QSNMjLjTV7EL5cGKf0XYBnoDAyHEaazwPb85g0LJSYevEZOsblVCqgrdxJCC4Z9qlOwM+5GZkrZwJAKe/if/3aC6ZpNxXQ9MCacxUYXapUHErTougCvzJKFZPfkaXsM12HkAJIakrApLsfA== 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: mem_cgroup_alloc create mem_cgroup struct and many other struct include mem_cgroup_per_node. In our machine - Arm64, 16G, 6.6, 1NUMA, memcgv2 with nokmem,nosocket, cgroup_disable pressure, run shell like this: 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 # In other shell terminal echo +memory > /sys/fs/cgroup/cgroup.subtree_control Then can see ftrace show may like this: # mem_cgroup struct alloc in mem_cgroup_alloc 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 alloc in alloc_mem_cgroup_per_node_info 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 Both two of them use kmalloc to alloc target struct, which size between 2K-4K, but get 4K above aligned slab object_size. The reason is common kmalloc prepared many pre-defined size slab, in our machine, like:64 128 192 256 ... 2k 4k 8k. So, when alloc mem_cgroup or mem_cgroup_per_node, it request 2312/2896 with between 2K-4K, and no other pre-slub like 3k or more large but low than 4k, so it use 4K slab object_size. So, each memcg will waste 1784bytes, and due to 1 node, also waste 1200bytes, sum as 2984bytes per memcg. If multi NUMA node, this also increase more: 8bytes * nr_node_ids + 1200bytes * nr_node_ids This is a little waste. This patchset add two kmem_cache for their struct alloc. patch1 - mem_cgroup named memcg_cachep patch2 - mem_cgroup_per_node named memcg_pn_cachep This benifit can observe by this shell: 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 other shell terminal echo +memory > /sys/fs/cgroup/cgroup.subtree_control Then show may like this: 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 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 That mean mem_cgroup request 2312 bytes, given 2368bytes obj, and mem_cgroup_per_node request 2896 bytes, given 2944bytes obj. Which due to each kmem_cache with SLAB_HWCACHE_ALIGN. And if without SLAB_HWCACHE_ALIGN, may show like this: 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 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 Which bytes_alloc show as expect, but I guess with HWCACHE ALIGN more worth, so this patchset use it as default. If anything wrong, please correct me. So, how many memcg may show in real machine? This is depends on how we group memory resource for task. In our phone, we choice per-app-memcg, so this is depends on how many app user installed and openned, May 10 - 100. And if by uid-pid group, this maybe more, may 400 - 1000 or more. Huan Yang (2): mm/memcg: use kmem_cache when alloc memcg mm/memcg: use kmem_cache when alloc memcg pernode info mm/memcontrol.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) base-commit: 2c9c612abeb38aab0e87d48496de6fd6daafb00b -- 2.48.1