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 2BACBC02183 for ; Thu, 16 Jan 2025 00:57:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B8DD96B0089; Wed, 15 Jan 2025 19:57:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B16A36B008A; Wed, 15 Jan 2025 19:57:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9B7B26B008C; Wed, 15 Jan 2025 19:57:49 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 6D52A6B0089 for ; Wed, 15 Jan 2025 19:57:49 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 252F31C6FC5 for ; Thu, 16 Jan 2025 00:57:49 +0000 (UTC) X-FDA: 83011502658.09.E070969 Received: from out-179.mta0.migadu.com (out-179.mta0.migadu.com [91.218.175.179]) by imf20.hostedemail.com (Postfix) with ESMTP id 665051C0007 for ; Thu, 16 Jan 2025 00:57:47 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=QwAGSlcN; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf20.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.179 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736989067; a=rsa-sha256; cv=none; b=V0zHILDWBvlIoC1TR/SsELx35FhK/vpfuyBzkEjBi8mHo7y+0fkrMdFtedTAEx44eX7Hlm 52UNq6KMJKUq285GlBcnYpX/DAt3c4F5keyqdbSgLp1/stCuUDT2m5JGZm0vTMDfKDkzgS +TYrUuHsmCKRHr4D8dpCnt3rn30ym8Q= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=QwAGSlcN; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf20.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.179 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736989067; 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=pAAEiGYmJObwoT1canIZx0/wo2Cdb23cKDo/iWmlemA=; b=pV0dTTc1YSeMAM5XkahHExas6pd2c/Ee9+OHwMRFQHpSJrEf2YrkoFQGUbGRPi6q9N27Wf JZwJW5ANQ44vw6HvyOpespRgJBdJkNtbPLlw/KDRG27Koh5e1N3iwdU7HaxktQdQcau4eJ CuXFkus2Q7OWivDiJOMPIES7V6DO0ck= Date: Wed, 15 Jan 2025 16:57:35 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1736989060; 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: in-reply-to:in-reply-to:references:references; bh=pAAEiGYmJObwoT1canIZx0/wo2Cdb23cKDo/iWmlemA=; b=QwAGSlcNh4JHPhRyAlQ6iKgSGGIjllgqQ5Dll+ZEKSHk4KddO6wY+k1jYeX7KKO0t92KYQ vHICkakMH9Bo3sq8vzq1WM1PSHr3bopwWnJsASWZYOaumhCkVgupME8B6vO8CbVVwgTeuS VyHTxUAScc9ai1PDDoAEtcs7T4GS2q8= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: Roman Gushchin Cc: Chen Ridong , akpm@linux-foundation.org, mhocko@kernel.org, hannes@cmpxchg.org, yosryahmed@google.com, muchun.song@linux.dev, davidf@vimeo.com, vbabka@suse.cz, mkoutny@suse.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, chenridong@huawei.com, wangweiyang2@huawei.com Subject: Re: [PATCH -v2 next 4/4] memcg: factor out stat(event)/stat_local(event_local) reading functions Message-ID: References: <20250114122519.1404275-1-chenridong@huaweicloud.com> <20250114122519.1404275-5-chenridong@huaweicloud.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 665051C0007 X-Stat-Signature: t8nhea5tgrxawd45siq98g6eyr7khx3i X-HE-Tag: 1736989067-737366 X-HE-Meta: U2FsdGVkX1/I9Zg7QyuSDhdE2lmE1nDogd44o8h5DbT1OMz+cbAjb2JjHFZciDIu/2na+z0lqp+ECZ3EaDvK+IERHKq7aYCsOgMC4HKMXm0ErSI1rlThQV78YLXant/R5vQR28e8ruI4aYcYU02lpicyQhVQ8VbbFRfvey1fsBukdfkUnIK7u7qtBkJbS6Ov4e3uVAoB6gIUY8Cz2ZzAfRV00Crq3skCEx2rzoBYGMwTxqJzAA2tVIoXeCvDFDAF30S5GnFv893Bk08N0FUmgZce6E+fiLNcPSNIM3x1oEJAHjcKFee9sifspRptwSp6+ajZFELPQBKqQeBnvHBBIPHTBeDvzc1oBrgbFg0TgTgKSSGxZTUOXTlQaekRGRVbptcczuYZgvE/Pikd7QMVMANrjNYtGEwx1C8C4ZnBmrJJXTaY1VG94N1sP4gY1OAQ+Ny3CE227/luMllEqBDxmY+IRw5E53zi036LrWTWJSbTSWF+7A38I+crLXR1Q/qVo447l7FAA88CJGxKmlzM9CmzV4XXLxzheZ9QrKVgSFoDdOgeZpmmPlnOQUFk/khee5fscqHrILufpAL/rx07Mmh+XRIfEyTZHC+eIAh+NawfueazMFm5IHbYwKBdXDGrugKkQ8sI+ywtgkDSmfB04V6CoAX5SI4dek0lZAN2Hu974b2hBD6o6glQ1Wlcwniysp4F36md/+cfF9Q10cgcNBvKcM++bpXUZ5WuHUi0qBo98QN8pYoqwZqXcS8fCHt+8M7P83nIJ7f8bq3NODrJpW+Jx7EhVFKSsMIYRGAYEZsSd1t88PhALGXV9LMivDR30AQwvBbrqdy8dJE1Ggi6w3qKHl9U19dPZ7ycfkpfYUgI7mXA3/0onHGx5kfAf3ETRwZ9I4MU6ddWcavHiLliuBAwIh5Lp7bhM7gLxwEBp9gP+K0VFV7cnAhV/DlOjq/S2830l2GA+fHGoFZmP6i z+47apFq kClCMrmuzXydGhIzbP1JCvF4+C6poLRlRLJtEm1YTEKKCmTcqVWmTDF4OyzyO2Pl9jWhCAPXH/5FA0m5fKsV7VDt7pBc6PEQ/Ig8UxT5eSfxqe0Qt5BiV8hvfxOUcQ+u7eqZWrCByn6ix6mOyL6CzjWYHO7K1zwInsgTE4r2h3YL2tVL0iER6tkZC0qZUjuzTheWyMVO1Hn+kie5ks+ve9v1g189D5Z+k8jBNMcpX9As8XWzqz0Co4fTpJs/FcaZM3yhA 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 Tue, Jan 14, 2025 at 06:45:20PM +0000, Roman Gushchin wrote: > On Tue, Jan 14, 2025 at 12:25:19PM +0000, Chen Ridong wrote: > > From: Chen Ridong > > > > The only difference between 'lruvec_page_state' and > > 'lruvec_page_state_local' is that they read 'state' and 'state_local', > > respectively. Factor out an inner functions to make the code more concise. > > Do the same for reading 'memcg_page_stat' and 'memcg_events'. > > > > Signed-off-by: Chen Ridong > > --- > > mm/memcontrol.c | 72 +++++++++++++++++++++---------------------------- > > 1 file changed, 30 insertions(+), 42 deletions(-) > > > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > > index b10e0a8f3375..14541610cad0 100644 > > --- a/mm/memcontrol.c > > +++ b/mm/memcontrol.c > > @@ -375,7 +375,8 @@ struct lruvec_stats { > > long state_pending[NR_MEMCG_NODE_STAT_ITEMS]; > > }; > > > > -unsigned long lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx) > > +static unsigned long __lruvec_page_state(struct lruvec *lruvec, > > + enum node_stat_item idx, bool local) > > { > > struct mem_cgroup_per_node *pn; > > long x; > > @@ -389,7 +390,8 @@ unsigned long lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx) > > return 0; > > > > pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); > > - x = READ_ONCE(pn->lruvec_stats->state[i]); > > + x = local ? READ_ONCE(pn->lruvec_stats->state_local[i]) : > > + READ_ONCE(pn->lruvec_stats->state[i]); > > #ifdef CONFIG_SMP > > if (x < 0) > > x = 0; > > @@ -397,27 +399,16 @@ unsigned long lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx) > > return x; > > } > > > > + > > +unsigned long lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx) > > +{ > > + return __lruvec_page_state(lruvec, idx, false); > > +} > > I'd move these wrapper function definitions to memcontrol.h and make them > static inline. +1 > > Other than that, lgtm. > > Thank you!