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 0CF3CC369D1 for ; Fri, 25 Apr 2025 04:12:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2AEA46B0008; Fri, 25 Apr 2025 00:12:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 25C5E6B000A; Fri, 25 Apr 2025 00:12:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0FD906B000C; Fri, 25 Apr 2025 00:12:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id E36896B0008 for ; Fri, 25 Apr 2025 00:12:44 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id CBBBA1409CB for ; Fri, 25 Apr 2025 04:12:45 +0000 (UTC) X-FDA: 83371245090.10.E928F2D Received: from out-184.mta0.migadu.com (out-184.mta0.migadu.com [91.218.175.184]) by imf14.hostedemail.com (Postfix) with ESMTP id CEA65100003 for ; Fri, 25 Apr 2025 04:12:43 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=OIHatB9f; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf14.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.184 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745554364; a=rsa-sha256; cv=none; b=33gGoX5oGlSri+f4RoJsmUCBDAKfbcghXkl2I0btUy0MwUoyd7tNEXMRjMnL/8D7SflSda KtjRV2gBTGVnxUi+GAfdGtOcRrTWPBbYFp82QGvPiXg/Qa/Qht6+I/GPMXQLbn/fX4wBaW vAtmRE2EfPLA2BrvsbXPFnJ0rcxbJfo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745554364; 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:in-reply-to:references:references:dkim-signature; bh=2mtNrSaQ2PMmqwH0ic+MZZ8ViISCFVttpoI5zUwLHNg=; b=5QWb7KfnxetoyMhK+gPp7wSLwh2fmJohpK80xH6OPpsZyMidyAUBeCSFNeSkbK4Qb/catG JSSS9Au63ptQv120275x3e7GmXYcueshizQ99Qe9PsspVJdvSKJeFne3mteIs+yn9dxkvu Q8kI7TCDFqoIasIK9/baWMaitUCTwTQ= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=OIHatB9f; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf14.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.184 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev X-Forwarded-Encrypted: i=1; AJvYcCW+V0C2fswusnHs1bwjUa0+6Fp/Z5nHac1FIMv0LMR7Gcwqw1a8RCia7jlKJ8MhasycAkmlddmVGg==@kvack.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1745554362; h=from:from: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:in-reply-to:references:references; bh=2mtNrSaQ2PMmqwH0ic+MZZ8ViISCFVttpoI5zUwLHNg=; b=OIHatB9fJkg3NxPsEEq6AD9oVFYBygDqUnzorjYgGEptjncpWScLiC2ibFy07P80soVMqa a4yz1x4Tyg0bneGB7fy3uMMlbJlrh4u49noNwX10/1xT9o0z+nSH3vMeetJFiYSjaEdZqi bJ+nl3oc80IyboUn0Tm7yVrreZX23Dc= X-Gm-Message-State: AOJu0YxplvO41/6c2u7rlYy/UquPvHQkmebGLzjCCi50B5q7Nh/5c3Ho 1d/+YbSyzTJeSogb4OwWgsLTiKthcEocpf3SZ6lJimrIGY0HROJdsFi4hkUShtByeI+ZdbCYNSz 7vioIUn6qXa1IH7iXtqFIrQGZuYI= X-Google-Smtp-Source: AGHT+IFmLpjKxR57HyCffy+sMZ3CV+PVfgHBvX42G1fsrDFI1qCmT4zv/WHgdidxKJ+BtkqUMk6syDI59v5iyVoShBg= X-Received: by 2002:a05:6102:809a:b0:4c1:85d9:5641 with SMTP id ada2fe7eead31-4d543dc0ad5mr279452137.11.1745554360344; Thu, 24 Apr 2025 21:12:40 -0700 (PDT) MIME-Version: 1.0 References: <20250425031935.76411-1-link@vivo.com> <20250425031935.76411-3-link@vivo.com> In-Reply-To: <20250425031935.76411-3-link@vivo.com> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt Date: Thu, 24 Apr 2025 21:12:29 -0700 X-Gmail-Original-Message-ID: X-Gm-Features: ATxdqUGaDuyn2ofbT9vT6qgsV071ukZncxDejKSKADe5y2Dv7UQRv6bonTv-m4M Message-ID: Subject: Re: [PATCH v3 2/3] mm/memcg: use kmem_cache when alloc memcg To: Huan Yang Cc: Johannes Weiner , Michal Hocko , Roman Gushchin , 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: CEA65100003 X-Stat-Signature: wqkpdg8iiwzms1y55dqaxjcpx5gas94q X-Rspam-User: X-HE-Tag: 1745554363-810574 X-HE-Meta: U2FsdGVkX192utKY50Ws5rf9xvLNOxx+WHrXoIB/FhOESy9q2S0quJK4McJD8nlthoH9VeKIAlPuFhR7LMnAnz1OIbZCzMqKKZ7LTEdV+X8FN39tkPFo4P9gq/PMAHjMhBlCjlMqxCA7MA7cVp8OGHjSzaOzyV4/4QMljHYGrA3uGfAMupeA7fsAqPG7zT7PqtPRPSoJCoy6P1VUicwMEGrOEL6kBzenmKCMULD47Dmn+PmKcBPwPMP4XifI+J9V6AL1GaPey+NbZDg19HT1VfezonVHQixTjg9WumuG064NK+ZHO/EQRy01SawjTE0dD0nuEEw6SQdVHmFIPErK44NfT0sf/n9axajgXs5FDrVK9U87IE3/n2kESdiawZeGbk04lxXYggtfD2hiP6O72aJzKF4IOl8UrwLeuQi/CFQvE+ULJarJsh1wUmfQd96E6soTLE5xg66hW4HH4+eU7GC/tInfWraNDG/LOoJNPMx8jhabsP4n1hNDFQG8zX3KzvFd+fIGPO/Ch5oW6NfXA3mQeZu+qaBVGD41ijza0MwAIneSGJSCwjnmq1uWkVOBL30xc6Q/NX2tTDO0pOh3Krf3xejCbtsnZYe6fdWJ16KzcjknQDCAvgezpI09+/t9oFo5l/MS4fFTrBI/xpiOQ3gYxb2P1/pSnypFauvJJvF7M77w+Shd9f0riV0x4CKKjDf4xfincdu+Ujb5aSTJ+Z1GAHIsLA5ehh5f27/hFJ1LdJJaf2wAR+ALLslSJmb/VqbjxT3xwg7WH4U9kY/TI19Mp0JbUI5IvOh+Mr7OM6wvNJ8anA93GOoJ8lwB7zv+ZlxS0W45O05UrgsqTi06UxuIa35Ui5CQPMJVV8yuL8PQlxrPGbIvJ08qtyHLT814DlwPJ1G3XQC7cNBWljfWU0hIWgVuf7luRP7POmkkvnUd8ZRQSWk0fcT4ER17d33lL40Ov8MMUwOcXUqLnaU qF5i2FgC vXkEcY1qgL1OD5dThRf3YI06zMb7w4hspbsSways9RdDM25jz9ylJ0A9RreJcs2P2wChZvZKfmWyEQVmiMEYdk7rzhxf09V3gIG56oiChlfBeP202zqJLweYsGo0tCpFtJHrLiowV0l9GVnmZcq07Lqaek1a/mES6tzmOPE2xnoo+huou5KFGvn7TjMEeQ4g7w1QhqzK/kqsmviTKX+S0/gIqc45Rv2tKmz/M1JxUUD8xdYx7qu8mApAqBdeWMGkuA+Xbv/DsmIxq9JPQ5y73kzAHCA4kD4LVEzIH 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 Thu, Apr 24, 2025 at 8:19=E2=80=AFPM Huan Yang wrote: > > When tracing mem_cgroup_alloc() with kmalloc ftrace, we observe: > > kmalloc: call_site=3Dmem_cgroup_css_alloc+0xd8/0x5b4 ptr=3D000000003e4c37= 99 > bytes_req=3D2312 bytes_alloc=3D4096 gfp_flags=3DGFP_KERNEL|__GFP_ZERO= node=3D-1 > accounted=3Dfalse > > The output indicates that while allocating mem_cgroup struct (2312 bytes)= , > the slab allocator actually provides 4096-byte chunks. This occurs becaus= e: > > 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=3Dmem_cgroup_css_alloc+0xbc/0x5d4 > ptr=3D00000000695c1806 bytes_req=3D2312 bytes_alloc=3D2368 > gfp_flags=3DGFP_KERNEL|__GFP_ZERO node=3D-1 accounted=3Dfalse > > Each memcg alloc offer 2368bytes(include hw cacheline align), compare to > 4096, avoid waste. > > Signed-off-by: Huan Yang Acked-by: Shakeel Butt