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 2D740C4345F for ; Mon, 29 Apr 2024 21:02:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5CF4A6B0089; Mon, 29 Apr 2024 17:02:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5810D6B008C; Mon, 29 Apr 2024 17:02:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 46E246B0092; Mon, 29 Apr 2024 17:02:33 -0400 (EDT) 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 2A8796B0089 for ; Mon, 29 Apr 2024 17:02:33 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 8447B1A0374 for ; Mon, 29 Apr 2024 21:02:32 +0000 (UTC) X-FDA: 82063792944.29.5AFCCF3 Received: from out-179.mta1.migadu.com (out-179.mta1.migadu.com [95.215.58.179]) by imf10.hostedemail.com (Postfix) with ESMTP id A8612C0007 for ; Mon, 29 Apr 2024 21:02:30 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=YAeGuRwV; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf10.hostedemail.com: domain of roman.gushchin@linux.dev designates 95.215.58.179 as permitted sender) smtp.mailfrom=roman.gushchin@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714424551; 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=RRdids+X4QRv+bPxbj1QerCDqrODkmUYAv3YKJoUxHE=; b=YVcPFuK59EyjNYCRClpXCRtXBCZCpn2FAQPuov+rlUNsDYRldj+9Y+EfqOPJf89hUCWUE3 gi4SjW0C6oBIyAm6g4jk3p53pIxLwYhm6T819mKsblJg4lFyBbe6AxejWmtYrgeQXDQVZQ 0DIwKN2dfj16Mi/krn6QABGY5uGqVWs= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=YAeGuRwV; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf10.hostedemail.com: domain of roman.gushchin@linux.dev designates 95.215.58.179 as permitted sender) smtp.mailfrom=roman.gushchin@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714424551; a=rsa-sha256; cv=none; b=zlfBbIHij3cxECtKvHmk9mC2dBo2FgeZe2+4Sx9GHJ0+1FrNVKdEOnKpIJMR39AIFUwyq4 P9kjUU6+a2hL5iaHGtemg8BcPPpbx+7tCpA/pbmEiQqzVJmMKf+8d5RahdNGarKxpxh9L4 lAs60/P0hB+Adb6uAKObRSoeLd0bzNs= Date: Mon, 29 Apr 2024 14:02:23 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1714424548; 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=RRdids+X4QRv+bPxbj1QerCDqrODkmUYAv3YKJoUxHE=; b=YAeGuRwVvnWMG41yijYTcJnXo+X+/idGkOR6uQlipgLmiPtOJmm94Fy2Hp3PXZzq1MhaEY B2HdecrVJDxj9XN6NPrb7ronHcEwd0ONYsx+x+HVunOXNfYcMMcdTACiR2w4Y1/ci2iaN/ qMvcmUyyj/lTsdvaFCvu3GvbNDQOEmU= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Roman Gushchin To: Shakeel Butt , Andrew Morton Cc: Andrew Morton , Johannes Weiner , Michal Hocko , Muchun Song , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 2/7] memcg: dynamically allocate lruvec_stats Message-ID: References: <20240427003733.3898961-1-shakeel.butt@linux.dev> <20240427003733.3898961-3-shakeel.butt@linux.dev> 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: rspam09 X-Rspamd-Queue-Id: A8612C0007 X-Stat-Signature: hkw8re6qtdnk7hzaqixs3ndcs4yg8s7i X-HE-Tag: 1714424550-290891 X-HE-Meta: U2FsdGVkX186abhOgEL1RuwEbDOwCtTtNAmGeNtQ2qrlG8ydenfMG6Q+QO/yVOGXC994ko435IswEkIkVuxrWHhUx0PbH0EE9GrJhayoDOZO0f/WDZmswLWPWL13YcP8L46/oMInh67s/Rs4QX+5qmt6pMnbPZeRiviczRW9o/VblaeC5rLq6+HzxKOKopnwWdUZyhHxrQcEz81e6NDkjp9eUZwQs0UT9cwO0mcy+vYAume/jSO1cO1o8P8xqyb2YkkGnRcn/eB4azkISpDImRroH/k4UDVu8e3ZXBwwTn5LotPmx0n8tGmfYFJPa2qgypFFYAJhiBGE9uJQJU3jdD4Og6NFhyaSy90SiUbMV9heJ1j5aTGorea6QHXrukH7iErWoc5Vw3LMO3V0u2PGzR6i5I51GOmHIn3d1ycHEfIp2HLbgEguNlww3gJBanKdVS9xCVGxxWeogWKtMsO/f0kpNeB5uKmRh72mXsJH4HZq/lwWaZdeuuqdOc7kqreBTjqFob7KHSM0xI8/DdOh7TpdVnamqmygWTNJylV/qj+tsRUmCHpKooxbFA9spg0u5+SQe/nDBtMxEbFDpA/v8R1PUUY8p9yHZX30icEEDukoam4p6/twy/HoKZ8CPv+W1Xevxec89qFQwGMH7+s9wQqyql7x/vl2/25YbwaYpHCf04Sa4qbbghHBx77oYTrhrwKXhFHepz7juF541yeNmA85hHdwGQtWcVFys9/BKsV358b+CGJAhyS+NfayzoL/mXHv2AosZQbg0WqmzoXncwN4zzQJdfeggcKgQ1Sih4U10HeuZleB21DGY090ETM4CtKnQXK9paruAKfWUEuwG7Zj3iB/aq7O8zXs/24Zfcd1Cplw7pANSlbGt0xFOtraTUMO7DZysQsd8GI3UTK5DUJXVQXnH3+68jHzHre+bm5tPNS9qIUXv9hzQx7Bc97CF+iHnUWkQbQLmsNwCbh pli5ATso V5uUmXYJ0ufHDWQNhqw9UFcpEp/stJ0yUfj67kEkIWCsWUokcDkgHKpcIH5+f5/lgf/mPvjiRTxn4XaRq8zuaTBde6r+KuQsbdJpCJkFgNkIuc8GYXCtaqiYlNcHxtHwcn51h 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 Mon, Apr 29, 2024 at 12:46:32PM -0700, Shakeel Butt wrote: > On Mon, Apr 29, 2024 at 08:50:11AM -0700, Roman Gushchin wrote: > > On Fri, Apr 26, 2024 at 05:37:28PM -0700, Shakeel Butt wrote: > [...] > > > > + return x; > > > +} > > > + > > > /* Subset of vm_event_item to report for memcg event stats */ > > > static const unsigned int memcg_vm_event_stat[] = { > > > PGPGIN, > > > @@ -5492,18 +5546,25 @@ static int alloc_mem_cgroup_per_node_info(struct mem_cgroup *memcg, int node) > > > if (!pn) > > > return 1; > > > > > > + pn->lruvec_stats = kzalloc_node(sizeof(struct lruvec_stats), GFP_KERNEL, > > > + node); > > > > Why not GFP_KERNEL_ACCOUNT? > > > > Previously struct lruvec_stats was part of struct mem_cgroup_per_node > and we use GFP_KERNEL to allocate struct mem_cgroup_per_node. I kept the > behavior same and if we want to switch to GFP_KERNEL_ACCOUNT, I think it > should be a separate patch. Agree. Here is the patch: -- >From fd6854c0b272c5314bce6c9dee7d3c8f8cee3a86 Mon Sep 17 00:00:00 2001 From: Roman Gushchin Date: Mon, 29 Apr 2024 13:57:26 -0700 Subject: [PATCH] mm: memcg: account memory used for memcg vmstats and lruvec stats The percpu memory used by memcg's memory statistics is already accounted. For consistency, let's enable accounting for vmstats and lruvec stats as well. Signed-off-by: Roman Gushchin --- mm/memcontrol.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index d11536ef59ef..2fe25d49cfaa 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -5661,8 +5661,8 @@ static int alloc_mem_cgroup_per_node_info(struct mem_cgroup *memcg, int node) if (!pn) return 1; - pn->lruvec_stats = kzalloc_node(sizeof(struct lruvec_stats), GFP_KERNEL, - node); + pn->lruvec_stats = kzalloc_node(sizeof(struct lruvec_stats), + GFP_KERNEL_ACCOUNT, node); if (!pn->lruvec_stats) goto fail; @@ -5733,7 +5733,8 @@ static struct mem_cgroup *mem_cgroup_alloc(struct mem_cgroup *parent) goto fail; } - memcg->vmstats = kzalloc(sizeof(struct memcg_vmstats), GFP_KERNEL); + memcg->vmstats = kzalloc(sizeof(struct memcg_vmstats), + GFP_KERNEL_ACCOUNT); if (!memcg->vmstats) goto fail; -- 2.43.2