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 3D473C369D1 for ; Sun, 27 Apr 2025 11:56:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EA4286B0005; Sun, 27 Apr 2025 07:56:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E55B26B0006; Sun, 27 Apr 2025 07:56:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CF38A6B0007; Sun, 27 Apr 2025 07:56:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id A94C16B0005 for ; Sun, 27 Apr 2025 07:56:55 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id EC0F51610E4 for ; Sun, 27 Apr 2025 11:56:55 +0000 (UTC) X-FDA: 83379672390.11.D794117 Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com [209.85.219.48]) by imf07.hostedemail.com (Postfix) with ESMTP id EF19340003 for ; Sun, 27 Apr 2025 11:56:53 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=OCt2DnRz; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf07.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.48 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745755014; a=rsa-sha256; cv=none; b=u20KEHPl0G3dZkWczSmutYpKv90BXLbQy7BG0pQd4/S7AfShW1QYd+oHDxRxXJIUR9RlEl Y+TYmZAs0/3o1vz+N1emggEOwE8R5xHI6fnOye0BjBlawkufXunMauY+yR12Y7gAySPX8P oed+6/wAp/Pn5De3LiNYtqkydUtHLxE= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=OCt2DnRz; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf07.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.48 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745755014; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=3aguYnD7Euw8idfB6uGeUk5hHv75Psmkn+8V49As6tk=; b=bIH10X1udQtFPhnhDr/uS+jD0CXjgLqdYbSfvcrfMyJBEL85Zn//FZvL+quxM/Rv+7QMcH MGkVmowKLHeLGlh3C6xQTFrssV2fUnuaA78Yp5/RLPRJodC51keUmGgRJ0lmzISXpcHD3n WYIfvCJIxJGMG25X3Sj6/MXwc4wmpAM= Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-6e8f7019422so40904136d6.1 for ; Sun, 27 Apr 2025 04:56:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1745755013; x=1746359813; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=3aguYnD7Euw8idfB6uGeUk5hHv75Psmkn+8V49As6tk=; b=OCt2DnRzvUpY/sZQ0PoCNb+tzqIHgnUHZAsOOzCzEjTfWw6hcY5BWTGqA1m38i7GXk 5y+3b9g4YQ0oBa68/tKsr6OJ5G9Fio3zYUBykZKcCDmhRGjwFQf/8SlhGDl+YozO35ao sQq3tjM8X8T1OaLQ+w49K4ELwUMYgFTvv9fFUkOOpq7JtiovFLcbRAnlf3s6bTZHTvwu DSI++Mr8DVfDOdreZkbGwAwovyGosoobMGGBPGOw1cWc8OorEL2MCAoOcDIF+9yO3gbU 4eMsYVJ9RQkjh9Q24bOaNY0qjq7Dak2VUzXVQYPmcWqwR5CfKv/i171ip4OoLy+RKYjG ePCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745755013; x=1746359813; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=3aguYnD7Euw8idfB6uGeUk5hHv75Psmkn+8V49As6tk=; b=mXgoC9JzxA7wPPggDaWLt2TZE8KQHkajV9yC6f78/R8R1GDTtK8onmL2ZgSggsJ5O1 yKi8hPnd//dQRiUsLANXoUxNgv1l9RP6PC2u//jfC0+bwOpNUteqzLtukSfsm7n+2kW4 owCGo0YOh/Kd9+Jjrcm0PKGvPov54e1UmS6H360CjZ6D8//9Aakz+SPZZmf0SwEfcSXa UcgmDBux+wVplmFFtldF8a/U61DWFi8Jnt2vTHoFKT4qbTNyQcYsYAriAXztzADGepxT OE4XFdB01swcaakZ/pmH05Fq92ezJOzF4lpUorUwI5T3ebbD75NedMNl4hSrtctTG+Ba PgJg== X-Forwarded-Encrypted: i=1; AJvYcCXchbeG9PSQTG0esRbOsE6NhysKJQuW1LcWzRlhzVOh4LNuNWBe+7mDJD5AgWkpOL3EXooF6p/hUA==@kvack.org X-Gm-Message-State: AOJu0YzQw6gfvfemw1QaklGS1sygNAljXkifv0LeTPsPQmD2GapYNXNd OnHnnTFe+PeYoCOBq5Vojfnyem7f/D9vYrFOK+Q5NqARij/b9olGlZh6xGQQb+w= X-Gm-Gg: ASbGncsm8nXwDoJQPTwPgYAvvuxt9GUh2SldPZaQS+NzfvcBSofE24jIH5f6ah/Uknr 521XD/dGZaylWjg7j53uhidJbm0bNRCS3yv44In0fNkLF9vAYrCtmoFHzrvNvkhyGxIxvISwuD0 uhhI/HsnCf+F8NXeqhPLYHHUvgIxU4V392JrQk2JV0epC0GqXOANucNHBEchUVBRjy6WCsVxCqd cCmX4ghEn2/J2QxPt80rifRQHNm1qpi3q/Kjx3cBCQA8hxjTdzN27DrggrsMObdlO//oxK950tY 77AcAST9JYvsTnM+WIDNtHjXhjQjzQxR/PEWzho= X-Google-Smtp-Source: AGHT+IEDgU2yzVXpkA7DFn1W4/QXxXBxTe6pwCbgIO5g9SsnH+5MeNqwj18r14AAziVsNIFTvvqe0w== X-Received: by 2002:ad4:5c66:0:b0:6e4:2872:45f5 with SMTP id 6a1803df08f44-6f4d1f16818mr102027586d6.25.1745755012925; Sun, 27 Apr 2025 04:56:52 -0700 (PDT) Received: from localhost ([2603:7000:c01:2716:365a:60ff:fe62:ff29]) by smtp.gmail.com with UTF8SMTPSA id 6a1803df08f44-6f4c0a7429asm43859846d6.69.2025.04.27.04.56.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Apr 2025 04:56:52 -0700 (PDT) Date: Sun, 27 Apr 2025 07:56:47 -0400 From: Johannes Weiner To: Huan Yang Cc: Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , Petr Mladek , Vlastimil Babka , Rasmus Villemoes , Francesco Valla , Raul E Rangel , "Paul E. McKenney" , Huang Shijie , Guo Weikang , "Uladzislau Rezki (Sony)" , KP Singh , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, opensource.kernel@vivo.com Subject: Re: [PATCH v3 2/3] mm/memcg: use kmem_cache when alloc memcg Message-ID: <20250427115647.GB116315@cmpxchg.org> References: <20250425031935.76411-1-link@vivo.com> <20250425031935.76411-3-link@vivo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250425031935.76411-3-link@vivo.com> X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: EF19340003 X-Stat-Signature: 48f9xj8yf34udm5t1heqjymrhmnys1wn X-Rspam-User: X-HE-Tag: 1745755013-446636 X-HE-Meta: U2FsdGVkX1/TD2GJ4+Yvc2Kq6IPWJ9i7agWGPF7jGK6q42aLU8BP2Q6vCCeWZKtL+Odx0UXVagrTdBuSZ5WmKZQD0k8eoH58rEEI311N85GDNoIOREg9WeC7CaElJHtCx9UJoUTooY5EK9XlFUaj71/rV6Mc7X/Cg9vlMbv2EfKHPQVkOIgLrkCHXducYmQuo7kuxyfNLEYISPIQ3Edt5Vta0rz0bjzVVYpkvYd5fVbA/g2YXVzYuTQTEB90iFg2nQfKG9ZNGlCTQ3nV0kJQ+X0Sm86aXNM3xGVhYkX886pb0K2kt89PnDLkbb7lhxfOFTZTV4e9eiR2qC9EqF6k055AWJPlWpz6einOFJwRErDHEyNX9A4mwv9Q4ASENgPwsogZ/60GnOeLq8882D93ASgygDlN3r43Nck2Q8TPdaIOn9fZODDXGtFvFYnnZwugPUJ1102iCkC3zGjPRmx2UsH1rX0tqrfU5u5nmJfLLMVC3p7yH87j5TJX2ZPRFFuo3fQdDtt8YIcAdX1+ZJ50C7qWeLcJySAY9HeiwFiT0SRkuYBvoiEKk707YDtAsQ0eDpcO8A1fZfhvoUVc+1GmZf9UkOsVQJpTUNgLAG3+vcq22/OLlwU+sWBC1+F7FU9i8gxaYo/vMxPUBdET/WJHPkyEbPC6xzhvVJMpbNbRCzKkZc2lZHwlojubkjv4TajWrDV0Q+lL+WKMtsdOzTNZ23F3QvpWm0G/tQ6KO9ri7rDnei8F6/oPRcR8PyZxaEb7vPCflDHtKbaB+Q1d4n1tlcp3P0xNrfDka3Y0mxQ9Dz7pw+xkLR4K79RoibDOBiJ9sT4ZU/oW5ldZRtLVn5hfQ/CobgkVpzrJWSntbn2XQJUBewRrhr1L3BX410wcXBdKclOMs3tdkl9V7J72ApOhjR95xoOMbCzhX6x3K4OCOzpBI1elsBqrpeNHbOOuMuXfgEhb9Uesg1PlNc7R4Lc JqJ3xT1g V2xeNsCGmgjSi+Ldritd/g/gd00YFzDx1jEKEshdwaiH3XXnGthgitStg1u4Fy1wiMLyvnk4cNPcAp0sgqk1477h70PyMNYuIO1jAzhvolqzTeCEebt2Tvz/KKs29vRWn5fUPz5ArslsrpOnJ+ZVr62uKHYB1KPDA6ctpaDbYsm4PfKZKvShKzHq+IJyGX1BX+OFIW23YIuFeuijYUIqAWegak3pHQ55BLeKVWXFDeXTc76fksR5LFOisGpQSCO/6v4BkcGCKrJYlr4Bmi9aJhhWWQ4BxMONGtupIw3W8/vp4R0GX4IreM2H5E0sdikLGwdqgei73TsUujAMg61+k4egVOEH8tRC8hf89uji61MB4/HqOYYLBY0EQ6Ocfi//xwzMoUshsUdqaUXw/7aqy0lN/jonP3Ap3V73kM9zL1dFVHBwPT5bU3C1lBHt0QMGvjAxOJSuI6TX3YVSyIu5Ik8BLo4LxDlEBLfr1gr7RQqufvCjAZbLUblMhCnvcf96I8KA6umZgnmRpjHeJ2mNEdpQoTiSq8IkXztPte2dl4ZlOjQLFFp8gxfDrEgyAekrAGGARs8ZYpXFkYHw657Tx0tl+2jNmQ7335YKukliEpUTX+P/kIXz82p0YewuL9exGRLnN 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: On Fri, Apr 25, 2025 at 11:19:24AM +0800, Huan Yang wrote: > When tracing mem_cgroup_alloc() with kmalloc ftrace, we observe: > > 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 > > The output indicates that while allocating mem_cgroup struct (2312 bytes), > the slab allocator actually provides 4096-byte chunks. This occurs because: > > 1. The slab allocator predefines bucket sizes from 64B to 8096B > 2. The mem_cgroup allocation size (2312B) falls between the 2KB and 4KB > slabs > 3. The allocator rounds up to the nearest larger slab (4KB), resulting in > ~1KB wasted memory per allocation > > This patch introduces a dedicated kmem_cache for mem_cgroup structs, > achieving precise memory allocation. Post-patch ftrace verification shows: > > 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 > > Each memcg alloc offer 2368bytes(include hw cacheline align), compare to > 4096, avoid waste. > > Signed-off-by: Huan Yang Acked-by: Johannes Weiner