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 C4A6CC282DE for ; Thu, 13 Mar 2025 07:52:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E8828280003; Thu, 13 Mar 2025 03:52:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E35A2280001; Thu, 13 Mar 2025 03:52:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CFECE280003; Thu, 13 Mar 2025 03:52:30 -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 B1D36280001 for ; Thu, 13 Mar 2025 03:52:30 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 497F4AB1FC for ; Thu, 13 Mar 2025 07:52:32 +0000 (UTC) X-FDA: 83215760544.18.CE29898 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) by imf25.hostedemail.com (Postfix) with ESMTP id 38210A0009 for ; Thu, 13 Mar 2025 07:52:29 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=OYuROvMQ; spf=pass (imf25.hostedemail.com: domain of mhocko@suse.com designates 209.85.128.54 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741852350; 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=VwKhF6W+tY2SZzFtha8IxW1ChO3y61zw2i9r0o8B2QM=; b=Lf8pbLLVsvj1J8suUOZcQx7btQnaV8zObFhKTbHopMlY+NVt8IDbweHUjvE3DIZusiNqh0 e/rg0m3YlgjNqflDc7s0z51QCwiEDFKmMUSzY4qSWzRlOhMv+fPZ8YbN6tQ1SCtHd9bXFk F++yKS+/kq1ird05HRdLfGbT7VkI9x8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741852350; a=rsa-sha256; cv=none; b=3w3Em+NRkbX/DgzqZvmZwGb4B5t1z2krsMWMWA0jESH5t/ev1q1HhBGKAZlGpg5G5l3bxJ wCYYsbiVvED4fZus73SKvjugZNspeaSJ4P7BOqyvIHR4Xh86jfLqFqLb2VrA5NAMN7xgJG sh6kkD7ErfJ5cxGJ8VLKTfiukFkEZg4= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=OYuROvMQ; spf=pass (imf25.hostedemail.com: domain of mhocko@suse.com designates 209.85.128.54 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-43d07ca6a80so3608025e9.1 for ; Thu, 13 Mar 2025 00:52:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1741852349; x=1742457149; 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=VwKhF6W+tY2SZzFtha8IxW1ChO3y61zw2i9r0o8B2QM=; b=OYuROvMQ3OzkGLacqsf7iexrE74X4hXTdUwC1pShVHvQILpEpQFuwvcJwk+5bvcfqU Wt4Tn1nGDJuXGdzMVfh1SQPIwSaoyLH1ZrdW67gViQTiP0cBexUN8/4K1kR6mbOtr+q+ mJvRepzuJUmx93EZkasHtWtc94XQQ+NdPwmRQgdu9oLRIVOyFzynVTzs9IyjGuMpQ2e3 OVjjPUhFjeDedMhxNyEEuoyNzaAhN8KGqO9V1cAHK76bpdD2OtHtOvYxraJXVOd1f1ia Rdp7bCApLN+KJyKORYZQH2h3jnbB6PGPvZd6TMjrOPMyINjUg1MBmI6YZPzEre8sN659 fC8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741852349; x=1742457149; 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=VwKhF6W+tY2SZzFtha8IxW1ChO3y61zw2i9r0o8B2QM=; b=KWnuKhc2W2Aw6yIyUceCs2zAwaQW8T2I+XlkSWjAm3Nkjbzx+f8kozrDzlZvukOPUo aJlpGo4SFzIwiKaGKD3MlafIqFsB+LUXpH6VC6jjUGjOZpXVGd0nP7Rw9KUX03vBdn3O kKkChW7Vswgesi5VdxsvT48yP3eFNrukAOT/A6Y/PDVKA0MD5DK0ZXKme8IrKaox+3RW oizU3DJF87nUYGS/pFGUyOLYHVEZePQb2/LoXew7qldhkpOr3y3EIvgWcZGAW9ncnd8H WiohR/e6lG5PdjiQJ/6H+XeOTA1D4yG2CZaUue1a30XX/bHyoyifJXew+dgrD1Afbh/4 PRyw== X-Forwarded-Encrypted: i=1; AJvYcCUa8AB5aTM9E//H98QayXjbS4MmUU5DtbxVF8W7kyTzl/bogHNF+pTgj/rsIGRssCvwNEuFaFUomA==@kvack.org X-Gm-Message-State: AOJu0YzjoUJODHc31WbtaJRQU4v7cBbAi+rRxs0jva1fVwRLoJ6monXZ T65LiQYxUcNxurYdPu+cT/0JwFI1cU+kUnkPCZTa8kmQA3sIxNCWWRo3d8bFJWQ= X-Gm-Gg: ASbGnctcmJf5qvKLuwqt2xucicY6CgyuNVbFfTRbx05jnJQ4PuXJICZuA0b1kcjy/hp bQRoI4WRXls1CESov7zsO/V4BwrQWGVna6xlQb/F1rbqL5TJbHPfn2iZdMB46T57ZjxmlAtlV+x KQsC8/YwAxSwO3jVwsqVGmD/8UW2Ip4Ek8a9tSNVUqf9pgKsns/tQH2n77zeIONZfLuDU31TcIp +OUiMSm1O53y/70uZ3iZuoeI0IpXvOUcN7SxkpzFqgxHQi0vimpO4SdJVSnj3WXbvYUxQ194Hpe jmsxcjzRaCICTcrvhnrEf3zbIpPOgkQDS6tsHRsTGtF40JMsotwMac0qug== X-Google-Smtp-Source: AGHT+IElPecKlbEZZxwASyZJ3LHCo6Gze44psTuhhZlIHYx5NP2MBXEcSOn5ghjbG0glf2GQOqurSA== X-Received: by 2002:a05:600c:4f0c:b0:43c:eeee:b706 with SMTP id 5b1f17b1804b1-43ceeeeb95amr117545505e9.24.1741852348716; Thu, 13 Mar 2025 00:52:28 -0700 (PDT) Received: from localhost (109-81-85-167.rct.o2.cz. [109.81.85.167]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-395c7df3537sm1197565f8f.8.2025.03.13.00.52.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Mar 2025 00:52:28 -0700 (PDT) Date: Thu, 13 Mar 2025 08:52:27 +0100 From: Michal Hocko To: Shakeel Butt Cc: Andrew Morton , Johannes Weiner , Roman Gushchin , Muchun Song , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Meta kernel team Subject: Re: [PATCH] memcg: avoid refill_stock for root memcg Message-ID: References: <20250313054812.2185900-1-shakeel.butt@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250313054812.2185900-1-shakeel.butt@linux.dev> X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 38210A0009 X-Stat-Signature: jqpyp4n8y5yjtkjht3dirjja9grreudw X-HE-Tag: 1741852349-89634 X-HE-Meta: U2FsdGVkX1+ozFbVla/yKut/fIQAIi/SAQa4g2LuInE1LPFfZQmJ3JcY3ltNG+cr6I1o+S8773LYWXQ6Fmuv5p0GrFNzB6s0diWdTWtE+FItpkgCoqOHVEYBIzwgqijGmYG1BvRpcSJm59T2XFq0qWEJHO6BEzu1JdPcgEFrstaDloHXnBAPF/eHZIG1A/2iUBuAHZm1nzW3p9/BXvwJhetVBU0NpKPj8v67EFroxV8SNP9rKTqOrRvdF2aHfAKiwdd5XizIngv14H0bWjRHN08aXRtCvXdaLdsho+kDdemJW5FBGUuoOdV341AieDG+dWz1O9T5BBE+CGG2Y9FGr9NKekCrg5jxokFEycf7HK7WA4KUcLj9xv8aooBxfj/Nq2wOJvPDsLLVpi/eeDcrcCCQpDH+AKJEEAZavu5gPVP6/7AY1YjRRDGh8tSkK3DA7I209OZEMg4RfbD+54UDXydkIB88pLb/bdLaLh7x5eyBbdC2VTN5RICOZXRSiugLEpm1yHM21FTwSP96aEWCUCuZtNFCMo5LGEXjbxwwuKnwsv69cJs13AYisZ5qlZcVTaBqPK82mrADi5h2oJOfPKGAaXsQVhIeyszmllgTZaWBjV2T/AzHMnhs3B7YxPmMHMapx8eW4mX9f+59mpVwsB1VwJiAdQQSY7IJk4Llpjsl1JObnnhaydHL1xSBKDYEFSO0lZc6px1mgPdDxiDgXhU5T/AcuGyNtyk+DBQGC8Y+K4XnK0qzyJXC+QZ7gwmUZBH6kT4yXvT9deObCES9Aop+Y926qlP14ITQR/XwgI/f9IEksYuBN7Gm/H2dM++IK5u0UFPA3fhiKCMokJRO6XjXaZsWTI25lPqPrwiCrdH/Se3xztprcihgiz8oAhvwjKiW9ioxdUMKni0RMcnnp9gi4TfGAJubdfz0sCxlMkOdGYqOeb9arl92eWua66OiEHiH9eeUn68JbqaZtzH FVT4roUO xWzKAQfMcHLfLn/CidcPY2Eo5c2ikkWPSeyTIjWU+e6bvE1+u05AQZZuolrtDK0825pNyOdRok3nCB8+ezBR4ayC8U6tHTnbt4zCGGwDNV3E4PKb1wGeNQcNJot9+nXyIqEwLeb3/iyiF/nKFALKimtgG1zCGiLYhYkOb3A96owZwVzTh2WnSs4K0+PSZ3yeHxg109AS9kt4lfBmJSSn+3C87qUvyz+2J5XFc8GPloJmB/+48ZTETZygsFgX1LRmj77zJjIgzXAjB1HMkozdyiZZFWk09WI6abpRru6vAwUHAVAQ7F/9mMZmk3DPTMt2wofDcdQGebzC5I55WDOP3LOjGLIaJj0KJzG7g+JkrJqZVlhyWx3UnAw2zZjV/7btL7KdWrhHYg88IE/ZgDAi/fE4zi5B9yF0snznd 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 Wed 12-03-25 22:48:12, Shakeel Butt wrote: > We never charge the page counters of root memcg, so there is no need to > put root memcg in the memcg stock. At the moment, refill_stock() can be > called from try_charge_memcg(), obj_cgroup_uncharge_pages() and > mem_cgroup_uncharge_skmem(). > > The try_charge_memcg() and mem_cgroup_uncharge_skmem() are never called > with root memcg, so those are fine. However obj_cgroup_uncharge_pages() > can potentially call refill_stock() with root memcg if the objcg object > has been reparented over to the root memcg. Let's just avoid > refill_stock() from obj_cgroup_uncharge_pages() for root memcg. Makes sense. It is just pointless draining of a different memcg. > Signed-off-by: Shakeel Butt Acked-by: Michal Hocko Thanks! > --- > mm/memcontrol.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index e08ce52caabd..393b73aec6dd 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -2643,7 +2643,8 @@ static void obj_cgroup_uncharge_pages(struct obj_cgroup *objcg, > > mod_memcg_state(memcg, MEMCG_KMEM, -nr_pages); > memcg1_account_kmem(memcg, -nr_pages); > - refill_stock(memcg, nr_pages); > + if (!mem_cgroup_is_root(memcg)) > + refill_stock(memcg, nr_pages); > > css_put(&memcg->css); > } > -- > 2.47.1 > -- Michal Hocko SUSE Labs