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 6D4CDC369D1 for ; Sun, 27 Apr 2025 12:00:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B85686B0005; Sun, 27 Apr 2025 08:00:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B34636B0006; Sun, 27 Apr 2025 08:00:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9B0836B0007; Sun, 27 Apr 2025 08:00:40 -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 763776B0005 for ; Sun, 27 Apr 2025 08:00:40 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 281FA1C964E for ; Sun, 27 Apr 2025 12:00:41 +0000 (UTC) X-FDA: 83379681882.02.3BD01E2 Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com [209.85.219.54]) by imf02.hostedemail.com (Postfix) with ESMTP id 34B6D8001A for ; Sun, 27 Apr 2025 12:00:39 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=Ffspt+8m; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf02.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.54 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745755239; a=rsa-sha256; cv=none; b=p1CbKrb0tG2+LvFGaoTEhtjiuUZArbKOEUtsevY/sEEZ0QZJqQHUKVudMPbchdOTwYYwVW nhECs2zud0E6BtC+0omv6aGHZ3DHryjRlQXIU4TCg+wPschpXKtodWhWKymvrYGuK+IAKM zj7nkoCclo2a3Xzmlbe+ipXZ5XrYH8c= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=Ffspt+8m; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf02.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.54 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=1745755239; 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=idxqq/A2oTSdkkSRkt+wEJC8bkXWvT6a+WYUMvQqbyM=; b=3VgLtvL1qRiv5db2WB+EPXgF2vVSopQgN6RRAaV1zy49YHhE/ePVcWEGhYu13U5pAW+QQ9 /IBylYdhxcxW5HFDmlPsD120HoDEV8LMD9/og+rg9CdBolDmQfkO/R4BppM0mXALkTGGWS DipWKTle6dDElKqAkFg0tPzw1A2JnNY= Received: by mail-qv1-f54.google.com with SMTP id 6a1803df08f44-6e8f4c50a8fso40967906d6.1 for ; Sun, 27 Apr 2025 05:00:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1745755238; x=1746360038; 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=idxqq/A2oTSdkkSRkt+wEJC8bkXWvT6a+WYUMvQqbyM=; b=Ffspt+8mLm0jpudtRoXGZIpVKV0CzVOVyvg6jT9Qs73/YJVSju7IUX0KkIf0pGP9qW ijhn0PZ43Wg5UxNqvNT+zN4laVzAQTCss5o2HwOeYtBgJyfQ3DwJ4XvUQDNHcbgd3IrG eokhRtLuDPZZU5t7Cl8FWw/gdfrO6FO+oAKfe57TzkiHLookr+S26Oxv4t8cBrCx/4Kp 6MsItCj8LM7FfHzcbpQCnFC9SPdwnRzUrXSjE8u2P67eu75PAo/XoOWvCTqZ8q6SNivM rlqEakrjwCBcL93JiPPXoqSqpuJjVF2mNnvnmfkCZPh3S/5BqxM9nnhBG1zvMTZutNMw qiFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745755238; x=1746360038; 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=idxqq/A2oTSdkkSRkt+wEJC8bkXWvT6a+WYUMvQqbyM=; b=akL8PDHAIJ8vDqJBPusztK50KOEY1L42Ma20mzUNURSYDnbWkVxaMWAxaooGks4wJ9 tpnxYlayBJGKvb6then4hweuuexdf05y2ayJYuiqFAWRak8DfHqTWOHFQftJxFV287vw v4om8u9MpwDc9/oYJAbRcEpU89bMVHphxxlwE/O2q95PijkLKYrDLi62AvCXBwKc1fUM Ut6wPDSbIDwAut4jSxBG1xIsOFAFyz1kcVbXsY4h8XrNua+LT9KHpLSqpgOvdz8GnpT6 YIbqSLUiKV4rS8dYQ47wbjT1vcAGCmJXKxTDZFiP7zfwUrfrF5hxnLvlklMtFEKglUFY R3gQ== X-Forwarded-Encrypted: i=1; AJvYcCVwBY/nphmR9oOsrtz+z0hQ9P+Ku3WEbzjDl3tw2sG9CVHVREj6nO5Awu2qNMYU8/1ArBt1NcgGeQ==@kvack.org X-Gm-Message-State: AOJu0YxlPzx4h/flfihCM1rhnH6h06ioNNhWhtNLWJ5AhtgTmgaEh8nV uWdRaG48U9G8KaR5+6+lXNQVK+3sUeVMGu4emREVxlZXFrC2hZSetYJkuS/Szbs= X-Gm-Gg: ASbGnctjrboHe3A10ah3ovVazs1lF1dsJLHoRq3DzQKLkUDTIhVpbBhlr5b6Uu059u/ 3iN+F8AvRDPasHPZcn5odc/fqy8vIpQ01zU+4b7FYtLnUSDdNat6xkESobuZaDsRhf5Xt6haKc7 1vg8w41pv88UAJmFX4UsVr1u+wkfXbKXkPI0YeONov9izFYytIhzYL6jIYxW+0xjz7oZTWZzv7J YiYUYIP2oZtH957AO/duIVv6RRGjfnZnZfpht8zqAurkG8PdrIlF9jOt5IPFtX9WV9NVzj1s9uA TUE68NM/Q4fb9S/hoV1T2MuqZcYaH2JthU1GfRVjs+3haML7iw== X-Google-Smtp-Source: AGHT+IGtJaXq4IPT7rxUZP3lATTpBxPpUwKLTeijuMDfj5iSTz0S/zVyxdqV+dyZRXdtWU1698wUTg== X-Received: by 2002:ad4:5d47:0:b0:6e6:683c:1e32 with SMTP id 6a1803df08f44-6f4cb9b8e9emr179935356d6.8.1745755238323; Sun, 27 Apr 2025 05:00:38 -0700 (PDT) Received: from localhost ([2603:7000:c01:2716:365a:60ff:fe62:ff29]) by smtp.gmail.com with UTF8SMTPSA id 6a1803df08f44-6f4c09341c8sm44086486d6.31.2025.04.27.05.00.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Apr 2025 05:00:37 -0700 (PDT) Date: Sun, 27 Apr 2025 08:00:36 -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, Hyeonggon Yoo , Paul Moore , opensource.kernel@vivo.com Subject: Re: [PATCH v3 3/3] mm/memcg: use kmem_cache when alloc memcg pernode info Message-ID: <20250427120036.GC116315@cmpxchg.org> References: <20250425031935.76411-1-link@vivo.com> <20250425031935.76411-4-link@vivo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250425031935.76411-4-link@vivo.com> X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 34B6D8001A X-Stat-Signature: miwq6aa1goaxug9qjbioqeij9nokrsne X-Rspam-User: X-HE-Tag: 1745755239-696383 X-HE-Meta: U2FsdGVkX1/4F/hVuFbgYwTlTCnIjHiKoLx9ybD4inPXzQQFmt3QPSDPg3yVelJUF5BCBxSKzipjA56HA2am4A6gYdsjL/0mZwv440UKSFuOBvrFmqZS2IIbwK1+uznnyMCYg8By4dooEAGahvcuL4p6qeQ6oyQPcAJrWhixhDKuTHezbM3wUPLiXEjaQdTEaEv0k4DMVAgszNwoWKQSsLfSlJ1JxnpE5Pnj8gyY1vetGiZGUAFZ6EpIxGZ4Lde8wyyGPTU5fPv3hJtt7seaAFhohV1oKcF5u8vUiTNw2bdJJO5Mbb+a8HI/HOeyaB8taPIJZK9+nhbS9H2Saz11aHIZapD1CHtqTlgrxINaJr71DMIm1hH3bv8nSgkEaJK9xVGbkBAtUs3x6HpZV//cM8r4skia0sKI5SdVmwvoxemqoMiVDsK5YRPeLBOMTgKxWs4nXQYEWe9miYlmJb5lpNTBtLB0gBURGf6osKodr5/DuTPzYGWakKxZ2PKesLHRYUKei0OEDfbTzuUTAu1lAkFRKWcd17aRY/xbJYN/+g5LQnZMsPYDyUr6XUK1KUf3KjOZlfaNhs/rV0OPiKaKDAg+I5ZFirROnpQAMEJdRHwaWTHWm4vAVTmANy9bNjIEEJp/hZzdI4P7KkXyUtPBZfZLik6PBNcvjbaxO9FTPV+DgIvoh3x/QF4Dzn/GP2KDrEAHlvp0YOvaHewHAtvkIXseXJvrgrtbBZk0vSG8u5hWm+elzYUv0L3jwcAs0maxrIvyM83XCuN9l7ERIkV5zkiAoNL1cPMFohYn+92bzGvmyy2UOH8IcUzpjJQV7YSetOrNtK3fc3Yi3gHOULdexU9kSDyj+UbLjHu+hwjfTbKYlO7B8MX3zUsqOyOslRukID0Giz2ohjXevLla+OLAn87Xsan4/cO6GSWzLgFgjyd7HFcwqCTcRKFsYu+i13JRpFeHJdS2A6U36ekjXzP oBy9OwyV E6JYhYEhlfmIMC3mJ2IilQcqY6yHbLlAc8vLXEkEKpA4OOqC278gsO9eVHAQwWziCebATcTvsbTaZBTsYpLoS1GYDj0GVZ2M7jom/rjraCz4Wd6bPpF/V1zQ6xNMpiDsvFYfum2bpTsmWQkKOqIfpnsy1IzN0gZQZfVegMFNtpEIVgO5pi4TrIznNabIBrHALAW1oHuxzEWhF61a3l9Mz9cy9BMb11RWOsV2YVN9z6VAJ2dE8Z49JW+iRF4337t4qzOzMZnhvjUJlZxZAGxkNhUP4c1nRavdKvkLdyoMTKUzmZ9XbgRBZ2R2Pt9ZCPuDDd1SXaYk5MJ4TuoWwROwaube9AwThPSipXHd4yFe04+5Om4pDBXGFes1tiS0fuMe9iS7cZqqZy062Atj1swCa3SsaXhXzVETd2ZzidoqSqgCuXsdTWmjIlGKb1GkoAs+NjhShtQO9Yq+nbrx5t5BgCobv7ZvrEb1T0f59tw35w2MQN94qV+lntEkogkEc0JwI0Ix0xu/tnuOZOhdpBntu5FUrE4I1W29sZDcbwphpxNYhFEJDSVZWOure76rqBbo2fMj3UOuKhzMfjczVPFVR4RoXWjdTuDE8+IEZqIzwLyXVSdVWkJwyH96Wxhhogkb5BrcU 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:25AM +0800, Huan Yang wrote: > When tracing mem_cgroup_per_node allocations with kmalloc ftrace: > > 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 > > This reveals the slab allocator provides 4096B chunks for 2896B > mem_cgroup_per_node due to: > > 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 memcg alloc - per node. > > 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+0x1b8/0x5d4 > ptr=000000002989e63a bytes_req=2896 bytes_alloc=2944 > gfp_flags=GFP_KERNEL|__GFP_ZERO node=0 accounted=false > > Each mem_cgroup_per_node alloc 2944bytes(include hw cacheline align), > compare to 4096, it avoid waste. > > Signed-off-by: Huan Yang Acked-by: Johannes Weiner