From nobody Thu Dec 18 17:43:59 2025 Received: from out-170.mta1.migadu.com (out-170.mta1.migadu.com [95.215.58.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BDE4A19E96D for ; Wed, 12 Mar 2025 22:26:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741818397; cv=none; b=PDjhTgHaZGg73b9+t1+c6JlCAhTj41PCOJMOQm+GnU0sxUAOr4AqnTkxZifX8Zc1rOXj2qWl6I3Kd5HRKwSz1ME9DM5MIJDvcu8wRoIS5DLM0Mj73ZSAgctonQpjzSY7fMbIFOY8nujrUB05GOp6BNlYMpfdvPG0GKFmwkyVxOU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741818397; c=relaxed/simple; bh=It8g9/rZbPtw2Kfw76dZUtMYOYZvwoGmZubDu5gyXxE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=lswZNx7PYdBG9le/VfrSCG1b6lCGreYyZWv5Z5rPiL20bz9GYmLl7mm6OEizNg2ngHdjbDnypuWEeLLPJg14TOTH/G0u4AuCYRPJn39aiff5lSk/wtxSrlBs2AiuS3YqKm2p+9txskrgizLQtwL6Qs02EsvuLHKytl+V/XYLU9E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=QDGH1kxg; arc=none smtp.client-ip=95.215.58.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="QDGH1kxg" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1741818383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=AFPGE3NPG2ZVG/y8e2qb1wahSmn2Ta6Uouhe/XHQ2mk=; b=QDGH1kxgBQDIZIVNIJ/FPtae8q7wBN0php2sCcnEruis6Xcbnx+qQh59arbRhlfFXYPoWb bovPKIkiCMKW9BRyWIx5xy725Lf0QHgisp8i62QTkCrbzylESvSWtQmTyYTUeAaFmASiZi N9UJ50PI0Ix63ZPRbaYWdf0LkM3Zw1M= From: Shakeel Butt To: Andrew Morton Cc: Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Meta kernel team Subject: [PATCH] memcg: move do_memsw_account() to CONFIG_MEMCG_V1 Date: Wed, 12 Mar 2025 15:25:52 -0700 Message-ID: <20250312222552.3284173-1-shakeel.butt@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" The do_memsw_account() is used to enable or disable legacy memory+swap accounting in memory cgroup. However with disabled CONFIG_MEMCG_V1, we don't need to keep checking it. So, let's always return false for !CONFIG_MEMCG_V1 configs. Before the patch: $ size mm/memcontrol.o text data bss dec hex filename 49928 10736 4172 64836 fd44 mm/memcontrol.o After the patch: $ size mm/memcontrol.o text data bss dec hex filename 49430 10480 4172 64082 fa52 mm/memcontrol.o Signed-off-by: Shakeel Butt Acked-by: Johannes Weiner Acked-by: Michal Hocko --- mm/memcontrol-v1.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/mm/memcontrol-v1.h b/mm/memcontrol-v1.h index 653ff1bad244..6358464bb416 100644 --- a/mm/memcontrol-v1.h +++ b/mm/memcontrol-v1.h @@ -22,12 +22,6 @@ iter !=3D NULL; \ iter =3D mem_cgroup_iter(NULL, iter, NULL)) =20 -/* Whether legacy memory+swap accounting is active */ -static inline bool do_memsw_account(void) -{ - return !cgroup_subsys_on_dfl(memory_cgrp_subsys); -} - unsigned long mem_cgroup_usage(struct mem_cgroup *memcg, bool swap); =20 void drain_all_stock(struct mem_cgroup *root_memcg); @@ -42,6 +36,12 @@ struct mem_cgroup *mem_cgroup_id_get_online(struct mem_c= group *memcg); /* Cgroup v1-specific declarations */ #ifdef CONFIG_MEMCG_V1 =20 +/* Whether legacy memory+swap accounting is active */ +static inline bool do_memsw_account(void) +{ + return !cgroup_subsys_on_dfl(memory_cgrp_subsys); +} + unsigned long memcg_events_local(struct mem_cgroup *memcg, int event); unsigned long memcg_page_state_local(struct mem_cgroup *memcg, int idx); unsigned long memcg_page_state_local_output(struct mem_cgroup *memcg, int = item); @@ -94,6 +94,7 @@ extern struct cftype mem_cgroup_legacy_files[]; =20 #else /* CONFIG_MEMCG_V1 */ =20 +static inline bool do_memsw_account(void) { return false; } static inline bool memcg1_alloc_events(struct mem_cgroup *memcg) { return = true; } static inline void memcg1_free_events(struct mem_cgroup *memcg) {} =20 --=20 2.47.1