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 E15AAC369D9 for ; Wed, 30 Apr 2025 15:32:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A0A1F6B000A; Wed, 30 Apr 2025 11:32:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9B8256B008C; Wed, 30 Apr 2025 11:32:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8A6BE6B00BF; Wed, 30 Apr 2025 11:32:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 6BBA36B000A for ; Wed, 30 Apr 2025 11:32:51 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D083A1602CE for ; Wed, 30 Apr 2025 15:32:51 +0000 (UTC) X-FDA: 83391102942.14.3978103 Received: from out-189.mta0.migadu.com (out-189.mta0.migadu.com [91.218.175.189]) by imf26.hostedemail.com (Postfix) with ESMTP id C6CA3140004 for ; Wed, 30 Apr 2025 15:32:49 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=Fi8laK2a; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf26.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.189 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746027170; a=rsa-sha256; cv=none; b=5uvccIbQFKLFyTB/UtrgqawmzFSW0lmZwX7HHTP+MTJSX2wpNVi19/jewlyLkGJ8L7Q78y duXJL9ftglMqjW+9AMIpghY2ZfIdxwn4SPX+kb5af5nGx+bEM1p7RtTrBVld3NB0dnHieO S3oVooLDz2xRfX2yffw86yFeMaoOAhw= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=Fi8laK2a; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf26.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.189 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=1746027170; 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=T4LQSg4lPMDLS8aZTjD/aS4EZY1NoY2jqFkETsR9szI=; b=Vtd4x9C5Hko+CBlH+AqkR0F5ZBeYR2I2ldzxk0HPX7+MD3oIy/tI51NeDF309cUsMSdLKU 8rWYpkyj4WxsYAKIuhEVdlFbGdhpmaglaEoixD3fibki8AEchXMyhcA42pD0AEY/RBuoRH 16s+sZQ3ZhykLIjNfnslFyyLfZx09ks= Date: Wed, 30 Apr 2025 08:32:42 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1746027167; 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=T4LQSg4lPMDLS8aZTjD/aS4EZY1NoY2jqFkETsR9szI=; b=Fi8laK2aqqJxcv76DgkLpMtMZEZmfKxIE5IPcSi9L2Au1Ihy+WVIBa4rJq8gLCYbU57e4L TLNKdpvQkfkSS8VWG0nTvOhdSkiEVfeX6DFJ+SFUCdvJ6Y0qYxJOXj4o6HSO1kmzdiczf3 F5ttkLxXgD1jLAbhrAQ5+8LM66So18I= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: Andrew Morton Cc: Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Vlastimil Babka , Jakub Kicinski , Eric Dumazet , Soheil Hassas Yeganeh , linux-mm@kvack.org, cgroups@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Meta kernel team Subject: Re: [PATCH] memcg: multi-memcg percpu charge cache Message-ID: References: <20250416180229.2902751-1-shakeel.butt@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250416180229.2902751-1-shakeel.butt@linux.dev> X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Queue-Id: C6CA3140004 X-Rspamd-Server: rspam04 X-Stat-Signature: qyk4zcnxk4xua6c14qs5j9ddm94itd5x X-HE-Tag: 1746027169-895462 X-HE-Meta: U2FsdGVkX1/yf9ieMo6Fbj7zKEp7nEVXlUPGiLfFnUG9+oVD5gOxffnGRVNgi3VZs5Itf864pAnTOWIfUaicAYEbYKHnp85iPzrL6EkWqnHqHZLtcKhmA7cdHv8VNghXfcKcQ+zrybnS5bfMuOuzQFSzCNvGIKo5my7T4loX4EMuBe96RIpFPYJKmetcxFYNcTjTaOd6vb83lPqthPqSz60O4PwxQtSNENqoTStu4gZemKdfddON7nd711GHjm9TEepQhnMwmzJ6WnlFohek6OQ4CCKx5Fk6fQVX2YGX6lHJgLev0vXJ1mY2cyH7Ar0Q0+Uw72unvbWiyfv9tLt4taqntiKSojOyztdL3YeThD5GmMz97fFPaKF5rVyF5+2EhlXTZqpemTqDm4nqGZdia4DqQV7idrBlyzhp75XSfJbCpexwSmwRTtETQ6A0RjKZSW+AkotdrixKk0keSu1O3ndnsPq5mq0lWoOcqLgebPyPlQrIATPvkyLRvHBHvc2yu6qGL778xtMBGvVPSHXTcU+ZcAl4KkDeKKSN38jBWDKzxloolhsGwKTTwjpAIFePEa/DWHqPs3cYJf+xW47zeVhZ67iEV4EitYkz+SuNhcDq8u8DxellQcQIqrsNXscbNtWeFyQVF4r4QLDLG9vZWkTcxCy48M5j4pmXDbpxiV1+13Ym7wJZnyzH3RLD0fJYDP3Gxd1wsRqe0smm1aaKLZQHUlbOp8+rq8YPAyqAWx0Fn+3FlrDcfQQpQP0b7DMCH6ZmmL8Vh6PwKEqWBd4zkhNFOQWDfVTkW79lYRKbfw8RRfuK0l7YVdCQ3MzO/tauhnzKikTTO+HZA4NIkfDf+8s4z4tR4+8jjDVd4zqW+Y5LJY3XgL5mmk8daUssjV1k/lQ3wbsW1KMBA5o71Z+eOgxHrOTF+pFP2J4kEmfe9Gf2hxQfFPSDDw/bs62Dd+4NimHZ4yNNv4E7j3VVJMg GozPHeEr Be0kqQqfoAB9XGlfcd+z2IVXPMeJkujdQ+A2n1b0Af4oE8ts7E+Vb0NtzRHkjX01oludL0D3OTnpxMDQ2ZvIZN/aRjq5Bl2WrMbK7JjEVgi5ATPWX8dQnnrLL1tnBZMeUSi1TuXBEEuI1EmPap8hz8RjJQDHO4oFVloYETJd7bbQZU+GlAETe2hcXzA== 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: Andrew, please find another fix/improvements for this patch below. From: Shakeel Butt Date: Wed, 30 Apr 2025 08:28:23 -0700 Subject: [PATCH] memcg: multi-memcg percpu charge cache - fix 4 Add comment suggested by Michal and use DEFINE_PER_CPU_ALIGNED instead of DEFINE_PER_CPU suggested by Vlastimil. Signed-off-by: Shakeel Butt --- mm/memcontrol.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 5a07e0375254..b877287aeb11 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -1775,6 +1775,10 @@ void mem_cgroup_print_oom_group(struct mem_cgroup *memcg) pr_cont(" are going to be killed due to memory.oom.group set\n"); } +/* + * The value of NR_MEMCG_STOCK is selected to keep the cached memcgs and their + * nr_pages in a single cacheline. This may change in future. + */ #define NR_MEMCG_STOCK 7 struct memcg_stock_pcp { local_trylock_t stock_lock; @@ -1791,7 +1795,7 @@ struct memcg_stock_pcp { unsigned long flags; #define FLUSHING_CACHED_CHARGE 0 }; -static DEFINE_PER_CPU(struct memcg_stock_pcp, memcg_stock) = { +static DEFINE_PER_CPU_ALIGNED(struct memcg_stock_pcp, memcg_stock) = { .stock_lock = INIT_LOCAL_TRYLOCK(stock_lock), }; static DEFINE_MUTEX(percpu_charge_mutex); -- 2.47.1