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 F331AD5B861 for ; Tue, 29 Oct 2024 02:11:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 59D456B00C3; Mon, 28 Oct 2024 22:11:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 526976B00C4; Mon, 28 Oct 2024 22:11:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 32FA66B00C5; Mon, 28 Oct 2024 22:11:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 0BA186B00C3 for ; Mon, 28 Oct 2024 22:11:19 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id CBA50AC2C8 for ; Tue, 29 Oct 2024 02:11:18 +0000 (UTC) X-FDA: 82725011040.20.55562C6 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) by imf16.hostedemail.com (Postfix) with ESMTP id 4200C180005 for ; Tue, 29 Oct 2024 02:10:53 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Tq0Qc2Lr; spf=pass (imf16.hostedemail.com: domain of inwardvessel@gmail.com designates 209.85.210.178 as permitted sender) smtp.mailfrom=inwardvessel@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730167717; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ZfFEnuh6gftdmCwDfPZ6PKpUs+SUjbW0Y//0IHu2mN0=; b=Jg959lOGdwlxhOhePAx3QjilYuSvbQi+yO33YUj2nTdRpA1/kvk4anUdmV7t1IJY+xUP5Y TP7umo91amLaE3gXv8jKwGzK8dBDppRBdKIK09ropT48+ukmqRNV4rjcTOPrbiA/HImihO 93Q6oNxOAqRw0NcGp50aQsdwzIhDuyA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730167717; a=rsa-sha256; cv=none; b=ERsa5NuFfhqtAX4zR+vOuvN2TEoKECCEeZuXOGw4b8FiqVspA8B7+sb5FhbNzWhb9gRs4t axHT3R1eMh3AMM3uzLG8WMKkgaMJkpG6HNVn5TKMj/rRFhRLYz/MAuBIgcxQoScVPmDVvh 16EXuY3nrL7hdWXBMeUhtQAWUto0+wA= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Tq0Qc2Lr; spf=pass (imf16.hostedemail.com: domain of inwardvessel@gmail.com designates 209.85.210.178 as permitted sender) smtp.mailfrom=inwardvessel@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-71e49ef3b2bso3640188b3a.2 for ; Mon, 28 Oct 2024 19:11:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730167876; x=1730772676; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZfFEnuh6gftdmCwDfPZ6PKpUs+SUjbW0Y//0IHu2mN0=; b=Tq0Qc2LrEQ2qMn9P/fo2PTzarsxXbrCX+omULzo9WxHDGQHDR4RrXYIU+1pPZIXwaz h1LEUPLYmx4IMCM4PUt+Yv4YDxVQeXwErv9PXzfAZbTEtZXIwcY8jhl64F83Uhxv2y8W kMP4fy23TbsDSdNt/llLNuc1ZDQA9wrZiGPp9Us2Go64S0uvyzSGT2nFvbaE4ceQZeSu 6g07qOUDuAESrZAgeP1qV4VMhby245cthrZdGbNQqvtBvUQUEEgmaZIbqR/+ZfGcsqAl +zftGlppP69OA2TMI9NjIBBPdK7zJRARueEkKM5nmnOkIKJEPwaNcQ6vhUzeSj8l1okG eRxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730167876; x=1730772676; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZfFEnuh6gftdmCwDfPZ6PKpUs+SUjbW0Y//0IHu2mN0=; b=ZCpPRTRhE/SyX+TQDKile7kS7ZNDhLsN0ig2fJgHOMDZIU+jUGh6cN1N+JqHXYmWC7 HR411KucaLer1U9AJssaHsd6dg8zFCdS+gLPv3lJe0Qq77QB7i0O/7gLMNXLnmB8gz7n nyGFkhWOfvlGYrLDOACkmhjg6mJE1er7rhsRemq7ORiJS3LgFzU7vMbaOX2aQbheiWS5 gJAfozdYfmOnUD4LMwPapmBjfZ+cFI18yXEZVi4+Mq36XpbjHUpUT7h0JCG1LpTctNCB TZvlbEQubfGGczlG/HxMhf68bDYKwoV/tRfmTyak4F7ysXsr0F+S+ykKNdfwQOBM9uRw Ug5w== X-Gm-Message-State: AOJu0Yxl/gB6TlsRvGlfbiKNkIta1yK2aLu7RzvhxNLDpffEr1hqxtdi xK53QeNQF58bwh424bdYqAiiU3bn2ESQyud8e6MmorcjkQPmZ4p1 X-Google-Smtp-Source: AGHT+IGfQBvk0vmxp09GuYzYsGZsv+PuE0xeLirh8A59YQf/ZpVgCAgrN87P7cfWEpfhY3L0VGgiYQ== X-Received: by 2002:a05:6a00:cd2:b0:71e:8046:2728 with SMTP id d2e1a72fcca58-7206303dfa3mr14853618b3a.17.1730167875780; Mon, 28 Oct 2024 19:11:15 -0700 (PDT) Received: from saturn.. (c-67-188-127-15.hsd1.ca.comcast.net. [67.188.127.15]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a0df99sm6500884b3a.118.2024.10.28.19.11.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2024 19:11:15 -0700 (PDT) From: JP Kobryn To: shakeel.butt@linux.dev, hannes@cmpxchg.org, yosryahmed@google.com, akpm@linux-foundation.org, rostedt@goodmis.org Cc: linux-mm@kvack.org, cgroups@vger.kernel.org Subject: [PATCH 1/2 v3] memcg: rename do_flush_stats and add force flag Date: Mon, 28 Oct 2024 19:11:05 -0700 Message-ID: <20241029021106.25587-2-inwardvessel@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241029021106.25587-1-inwardvessel@gmail.com> References: <20241029021106.25587-1-inwardvessel@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: 9wkqcd95obp7w8hnh7qxyejfth9ogtg7 X-Rspamd-Queue-Id: 4200C180005 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1730167853-576259 X-HE-Meta: U2FsdGVkX184KTlai+L0L/Cy7A3X9LnFSDVSv77DOmHbeM/ryURoMtR2nEu/EilDPWfBIR/emFOKw5B55GgfUMBdkF152VlK/xziNMNC+zBtHaOTPiUteVqe+LSxKMCdf59av7egP6eTDX1b2YPgCK9L2bcgavV3jaal1iDJMxt7wsXetLg5c70VI4no5yZxPP25Ha1e1iVKyJZxB12PeNbY7r/ccp+9lwwBU2Ba8+8ZojkL6uW5f95vxBowtFCSsDyAzgTAV5vMgCPU4L2b6fGm7WyeDrbiAL9V9g033BExIqsdP3hpTIr9wD7aUk81iNLHHUrBC4g5l8PoaSCJSKTS/KsjtF5OaAwuMZLXvGsaDomyJ301WwGUjMgBox66lnIj60SSHRLTQu5LgpatoR+JW5UUsNmz+f+mABiGkMqNRnrwgi5PcDOiZomx5Yf/gf4oRlIJATTrYZZOeOF66b//r9w5ABg4GadgSwihT0maydnS4GwQSmbtrIRzGtW9/07xrikXOpTIpg5QJLRTB6oB7OdAS0zCNDlQz8AkdAiLNbtXLnOsrYQIodu4Q/OozKGcuK9nIm+pZarqujpOAxzWhghSHjpXwScynMzpSuFwTZALWa/LBodyCdGta9kL8HENmLMOXq9xY3FDP1qob36WTwogl5Eop6dIIKeSjk4G38KO6j6/lsIdvxZM1Y1YZlTFMJIncfQYHEnFI2Ym08lmcBDdZYRdm7PeF1wowlIh+hFQXa24epiwpWjma4kJv8/elhXIOoKqm5DTtyWhX3iVN4/uZDd4smyGUKkprOMdy7CP55dxf2y29UjGq1w5jy02iJw2DGiAjpEdKqUnGw44ADpQAsa9GWE8YaT0JeJsWAhN3LvEdyshlCp+py/dvoFh1EUYM3k3XsVSRuSegWje2fzdXkcAnOigb449bLzO78uIjiucz6JiLEgZl5nwQ7lR1MpRcw6LY0mFX2E 5ZpQUvMG 7YGuCWEtN3NQMRfb2Ga0zh2pMQ398PFqqfrpHCzaN7hbTrgo2wKrMG+vL/f4KjJj5qz88Kv62ChN8zHCyKOg9ilP/NBIJl7j5L3/bJLhi3bfRTv/MW797ClIOOHS0woNMGlzgZcJ5vA6oC5Ph1voJKFkMk2x+roYCy8u45WYhW01/EfRFCA71ufAxjp55bS0WpiTleeEJe7hLfERPvQDVUA6C5ljKv9Zv4oyBESD2FD4FbsRVpv/H4RBRVT/tj1zbZdsLk6VEBqvvJd4ERzJNg+BOEhX3GTGsey12hPiVwlFzena+ZbwKCxQmlD/M+kmPjbEXYa3ieuoPxXSVGwaU6OQosfWogJXErqfGvdE3hchUhZhkIK6tvZUrug4VW/2j9mq9pGa8L9ftkevFD5SKHCWdzjUxPDD0loiS/7irk71jsjg= 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: Change the name to something more consistent with others in the file and use double unders to signify it is associated with the mem_cgroup_flush_stats() API call. Additionally include a new flag that call sites use to indicate a forced flush; skipping checks and flushing unconditionally. There are no changes in functionality. Signed-off-by: JP Kobryn --- mm/memcontrol.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 18c3f513d766..59f6f247fc13 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -588,8 +588,11 @@ static inline void memcg_rstat_updated(struct mem_cgroup *memcg, int val) } } -static void do_flush_stats(struct mem_cgroup *memcg) +static void __mem_cgroup_flush_stats(struct mem_cgroup *memcg, bool force) { + if (!force && !memcg_vmstats_needs_flush(memcg->vmstats)) + return; + if (mem_cgroup_is_root(memcg)) WRITE_ONCE(flush_last_time, jiffies_64); @@ -613,8 +616,7 @@ void mem_cgroup_flush_stats(struct mem_cgroup *memcg) if (!memcg) memcg = root_mem_cgroup; - if (memcg_vmstats_needs_flush(memcg->vmstats)) - do_flush_stats(memcg); + __mem_cgroup_flush_stats(memcg, false); } void mem_cgroup_flush_stats_ratelimited(struct mem_cgroup *memcg) @@ -630,7 +632,7 @@ static void flush_memcg_stats_dwork(struct work_struct *w) * Deliberately ignore memcg_vmstats_needs_flush() here so that flushing * in latency-sensitive paths is as cheap as possible. */ - do_flush_stats(root_mem_cgroup); + __mem_cgroup_flush_stats(root_mem_cgroup, true); queue_delayed_work(system_unbound_wq, &stats_flush_dwork, FLUSH_TIME); } @@ -5281,11 +5283,8 @@ bool obj_cgroup_may_zswap(struct obj_cgroup *objcg) break; } - /* - * mem_cgroup_flush_stats() ignores small changes. Use - * do_flush_stats() directly to get accurate stats for charging. - */ - do_flush_stats(memcg); + /* Force flush to get accurate stats for charging */ + __mem_cgroup_flush_stats(memcg, true); pages = memcg_page_state(memcg, MEMCG_ZSWAP_B) / PAGE_SIZE; if (pages < max) continue; -- 2.47.0