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]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 88B7FEEF33C for ; Thu, 5 Mar 2026 09:10:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B4A8B6B008A; Thu, 5 Mar 2026 04:10:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AF8376B008C; Thu, 5 Mar 2026 04:10:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9CF976B0092; Thu, 5 Mar 2026 04:10:39 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 8A8876B008A for ; Thu, 5 Mar 2026 04:10:39 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 4F12EBB9DC for ; Thu, 5 Mar 2026 09:10:39 +0000 (UTC) X-FDA: 84511438998.13.279FF63 Received: from out-186.mta0.migadu.com (out-186.mta0.migadu.com [91.218.175.186]) by imf28.hostedemail.com (Postfix) with ESMTP id 622BDC0008 for ; Thu, 5 Mar 2026 09:10:37 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=L7x4mezl; spf=pass (imf28.hostedemail.com: domain of qi.zheng@linux.dev designates 91.218.175.186 as permitted sender) smtp.mailfrom=qi.zheng@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1772701837; 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=tr1o9KhyPyLCXwJBlDrE8nwwf9NNG4p8828XvNLTvd8=; b=lJouG7MqdgtdsN9WhL6Lgf6WmYeq2TzlXBbna+MyXQvfKuhhVz1jh+82nZv4R+7WS5NxYW BZ2XODYKeNfSz/lqi/wZ7Gsctr2hkskR62ix8s3Z89T7exzgoiGO3GTV2+IdHwHESUqlmA IynseblX6G0otuEJn+bC00dgP1TjOv0= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=L7x4mezl; spf=pass (imf28.hostedemail.com: domain of qi.zheng@linux.dev designates 91.218.175.186 as permitted sender) smtp.mailfrom=qi.zheng@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1772701837; a=rsa-sha256; cv=none; b=yqeUReW++TlMb0SG4w0rvb7IFtK3zd9Qo9pQTfZXjKOFN8W0y2xfuiuQjAAyOXeMPVYkIo 1jZM2Z6JDfY28Oe0noMJfFMDnBr4ddGhbt9tScPx3J4WqQi00qU1as5iNyHfVX9usnLiRw fQpV9S2RxiPqH1qSf9PIkTaVe4Os/lk= Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1772701834; 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=tr1o9KhyPyLCXwJBlDrE8nwwf9NNG4p8828XvNLTvd8=; b=L7x4mezlG6AujZehqOM4oJ1mkz12yinb96zksZNN/IssZlPMeo22txA9u/1JGvJm0IQIZX knTzFQOroszSlf2YtuFByiAoYTLA3ZgsDnHx7Xob8QK6lAjuJc0iRLD0Agun4RoT41YxJa M/cyIE844GMBmEI/anCkSsaJEZq87i8= Date: Thu, 5 Mar 2026 17:10:12 +0800 MIME-Version: 1.0 Subject: Re: [PATCH v5 update 30/32] mm: memcontrol: convert objcg to be per-memcg per-node type To: Shakeel Butt Cc: hannes@cmpxchg.org, hughd@google.com, mhocko@suse.com, roman.gushchin@linux.dev, muchun.song@linux.dev, david@kernel.org, lorenzo.stoakes@oracle.com, ziy@nvidia.com, harry.yoo@oracle.com, yosry.ahmed@linux.dev, imran.f.khan@oracle.com, kamalesh.babulal@oracle.com, axelrasmussen@google.com, yuanchu@google.com, weixugc@google.com, chenridong@huaweicloud.com, mkoutny@suse.com, akpm@linux-foundation.org, hamzamahfooz@linux.microsoft.com, apais@linux.microsoft.com, lance.yang@linux.dev, bhe@redhat.com, usamaarif642@gmail.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, Qi Zheng References: <0f915487ffc653cf6ea19335c21c01aa06004641.1772005110.git.zhengqi.arch@bytedance.com> <20260225094456.74145-1-qi.zheng@linux.dev> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Qi Zheng In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 622BDC0008 X-Stat-Signature: kngtnr5m3c6adp935sxqfxt3b1r3uz7x X-Rspam-User: X-HE-Tag: 1772701837-861889 X-HE-Meta: U2FsdGVkX184Ag6xazWa/N7Q9DQ+ZLNURVZZ+TeafXDlKV50f7McdoG9iL6yeAVcYyY/jy1q07PRvpTCjzoG4E118cBC2qDKWcAoXx/TFeTyMK1gsGipaFPwN5qpAB+mJEZXs7Om9XvnvYlsb6BqPzQhj0gepkrAVhxVVhmA5zshLKVPkw3qMyYvw0Ddht5NFMgVUK7dMlEh5mVWBNlJ2p+2g5+CC2eBmgVhLhG8exfM6Dbx1k5t1D6MVRLUus3wWkpTK/D0BLRizwSK3O2afFUDb3q2/VYhdxM60NI7SXeKRmyi/Pqb8O6kJmh8OhOd9LhRyuEqRlEzUKwunwX/celAabo6pzD82hARvAxGeyWNXvAQpzCT00m0q+K2sBm45PWiDV7Ib0oJOtHp7VnwaYeI7KTmNSNwjNaSvgvMNwRss0mNrKdqLHGqsRm+tMQYcE+uFoMb9kLSyNKCEbIodUkUzzzc1xGPAiNMYB/zVk4HLDmvTyrDfyL9KxqF6VEuuhSH9IfqNPp8Wz/IMYsV6C+Bs9d3YP9co9Jn3aJEF1vsLmnOXfRwK+o4IAfY5BmdbjvVLnAqA4/kvs7B+nzkZqP4k5D/aygVqWkL7U6hfomcAoCFtDMZ/KRVZTGeNGQTebbg9ZMi8A6EeSVqGPWM57VtP3NHCB3K4D3Jzr4zj0qYNykGxJuoMOyZ1etqsjlGKJMKxcMkq08fetUiCGOD1HeuGyCISh8XUHGHAs719aQc1FejVx04XD5p/kTR9e4X6hdh5Dm74+I1nHM9Zt/9X5crrirQDrk8mCX4e/lgtXTeUNpdMu0Ui39qQ+fbntZOEOTu6DW4JmGdlkCSNSO8tBT03ZZLgeaSF2No90pX1iGqZ+G4mGy2mD79DjO+H3Bl363RuROuaWjR4LltTz7xOHrn7daTljGJZ5xR3g09edDQ48W8ltBJ3c1nXMOoGrtgcx+1yvFQKgl47mtCsKy nYQVSLDh iezfoXhvaRXIJ0wPE12/J050AOZJih+m2OX3Gz0cgguY19/3oygZyw23PwOuLk4DHgNy7dAiV4CKRC7IKy+oT2L6gbDrlOgl02FqXOXpFrPkKObAQTOwKPVNEepmER8xxnYjYn685dOlsigOsMwE7Hu4lnYu9kMZ02iVc4MckIIocJQeMFZEr7vYRoiQg2XqhnHAm3G+HlWdtrBdhUTDM6v/g9qwdoDy52T9VXstk+ZDmkjnAfx5CD9rXXXWD8aunl29AuNGLQylhKIcFjVOdWI/BRg== Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Shakeel, On 2/26/26 10:27 AM, Shakeel Butt wrote: > On Wed, Feb 25, 2026 at 05:44:56PM +0800, Qi Zheng wrote: >> From: Qi Zheng >> >> Convert objcg to be per-memcg per-node type, so that when reparent LRU >> folios later, we can hold the lru lock at the node level, thus avoiding >> holding too many lru locks at once. >> >> Signed-off-by: Qi Zheng >> --- >> changlog: >> - fix a missing root_obj_cgroup conversion and completely delete >> root_obj_cgroup. >> >> include/linux/memcontrol.h | 23 +++++------ >> include/linux/sched.h | 2 +- >> mm/memcontrol.c | 79 +++++++++++++++++++++++--------------- >> 3 files changed, 62 insertions(+), 42 deletions(-) >> >> diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h >> index 45d911dd903e7..6e11552a90618 100644 >> --- a/include/linux/memcontrol.h >> +++ b/include/linux/memcontrol.h >> @@ -116,6 +116,16 @@ struct mem_cgroup_per_node { >> unsigned long lru_zone_size[MAX_NR_ZONES][NR_LRU_LISTS]; >> struct mem_cgroup_reclaim_iter iter; >> >> + /* >> + * objcg is wiped out as a part of the objcg repaprenting process. >> + * orig_objcg preserves a pointer (and a reference) to the original >> + * objcg until the end of live of memcg. >> + */ >> + struct obj_cgroup __rcu *objcg; >> + struct obj_cgroup *orig_objcg; > > The layout of struct mem_cgroup_per_node is very performance sensitive. Please > couple of performance benchmarks after rearranging the fields particularly the I ran a simple test using will-it-scale page_fault1, and the results are as follows: tasks | baseline | with-patch | diff | % ------------------------------------------------------------- 1 | 216394 | 217537 | +1143 | +0.53% 2 | 419895 | 421510 | +1615 | +0.38% 3 | 626275 | 629533 | +3258 | +0.52% 4 | 833146 | 830481 | -2665 | -0.32% 5 | 1037597 | 1034334 | -3263 | -0.31% 6 | 1229398 | 1231656 | +2258 | +0.18% 7 | 1425040 | 1424432 | -608 | -0.04% 8 | 1603738 | 1626028 | +22290 | +1.39% 9 | 1797881 | 1803901 | +6020 | +0.33% 10 | 1976264 | 1966342 | -9922 | -0.50% 11 | 2150073 | 2159328 | +9255 | +0.43% 12 | 2304435 | 2321128 | +16693 | +0.72% 13 | 2524668 | 2538582 | +13914 | +0.55% 14 | 2763854 | 2743098 | -20756 | -0.75% 15 | 2938939 | 2961671 | +22732 | +0.77% 16 | 3152497 | 3181420 | +28923 | +0.92% 17 | 3333936 | 3370667 | +36731 | +1.10% 18 | 3531225 | 3552907 | +21682 | +0.61% 19 | 3732347 | 3769889 | +37542 | +1.01% 20 | 3917502 | 3951226 | +33724 | +0.86% 21 | 4118040 | 4134952 | +16912 | +0.41% 22 | 4268932 | 4312343 | +43411 | +1.02% 23 | 4438411 | 4484408 | +45997 | +1.04% 24 | 4618400 | 4683531 | +65131 | +1.41% No obvious degradation observed, so I'll keep this arrangement in v6. > above two pointers together at the start of the struct. > > Otherwise: > > Acked-by: Shakeel Butt Thanks! I'll add this tag in v6.