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 BD775C52D7D for ; Wed, 14 Aug 2024 23:03:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4F7E76B009A; Wed, 14 Aug 2024 19:03:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4A7C86B009B; Wed, 14 Aug 2024 19:03:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 370596B009C; Wed, 14 Aug 2024 19:03:28 -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 18F146B009A for ; Wed, 14 Aug 2024 19:03:28 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id C8FD2A11F7 for ; Wed, 14 Aug 2024 23:03:27 +0000 (UTC) X-FDA: 82452379254.05.87640A9 Received: from mail-oi1-f172.google.com (mail-oi1-f172.google.com [209.85.167.172]) by imf14.hostedemail.com (Postfix) with ESMTP id 087A310001E for ; Wed, 14 Aug 2024 23:03:25 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YOoySE4t; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.167.172 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723676593; a=rsa-sha256; cv=none; b=QAnr2uM7cgBGm1j4pKpJ0tAOVxz5l4lVUBXS9TS1xIPj7BPSLBMUXANErBXqh0a54NPzXq DyZdl3aulv8dqJmwtLjRT9NFBibiD2GWEtUsa6YiIREYALFGt8Ips8FRLY3EKAHvXR6Upn ZqanuR1XLyhhg+X1Aci76PsF0L5IR5s= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YOoySE4t; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.167.172 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723676593; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=lBlJcNHTXrvCXg2KqHerDo3Dz+CUwdwlIOy68HBZaZQ=; b=tzH3eU52mvD+qOcPJkKRhe5GiB8VUGbOdxVuOQpAbl1OXfrLT1GyeJwvQovBxOupeV6zU+ 1TqQXyMveu7i7SYThy/YELT7ZkzRToUCIxPdeQfA8Da+K1YIqYwGsnRFGATgodBdIk2Q/W hxJn07leAqUqZeTRSmKXsgh5oE1jHyk= Received: by mail-oi1-f172.google.com with SMTP id 5614622812f47-3db35ec5688so192203b6e.3 for ; Wed, 14 Aug 2024 16:03:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723676605; x=1724281405; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=lBlJcNHTXrvCXg2KqHerDo3Dz+CUwdwlIOy68HBZaZQ=; b=YOoySE4tnD+0DwBxhwj2UqOleneH6cAVhGDEvFm0qkQNLRRKm4GyCFhiE+JIvvZm+O WBeoGCxd9GzzaFOo3kWsSn+RkEzXJ7oz108Ihk8bZL6rExAKWMXNZ61OoZUwDTKImScw BNJV11EzgnU1PUo7xVjApToFEX9/Z7Vyho4keehfL5WAkfJd42d3jsqQz1e9t0siLNgi waaWYexfmHyyuaRbBOsfmUMihIeb+DEu+KejPLhLM3CgjFwJe04dyr4ElI1ULkGc6KAQ 9qUyhJyYxCU7KEUfUGBgJefhHobM5h75Hzi9b6YmwE6SgWbcVnkVesL3QkO8sgPTSgcH GJtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723676605; x=1724281405; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lBlJcNHTXrvCXg2KqHerDo3Dz+CUwdwlIOy68HBZaZQ=; b=c0EfmktXmcXGy6wX5fpdW0N4+sjLXrzggu5AUmekROCKRcJ8CZo8Eo8c8izjNx3Nys NCjimaRHUrAIdbRpze0WN5v+l4A4Kbt1wJ2ZfZOk2TNhUDspRbcNB7Hf5AwL1UwlxQn9 49evn6hGwv+5jg/nv3L63YIa9AFdZUlm2YJmvY6H9MuWbQlb2BfshHE0HRwLZ8Kkhf+b am/oDI2fa7MCHyhSUasNUA68IrqR13c/OvZGXNi0h1v03XDyjZMoNsF/hdoXsV+sN9f+ qYlNk5W/WZs6Ka71Hwh4tN1ejI2Wu5H5jAmoKTCvJs6WsxGwiJ078eRCH2G+tZeTZc6w BDkQ== X-Forwarded-Encrypted: i=1; AJvYcCXNdXFm4C/dkB5DkD9XOo7SwUubvVRWUtsXLAgb+K1+WO54OLIUCdNbsB6CeLjSZEskB+wvYi2y8Mw+wE4pPR+ekOI= X-Gm-Message-State: AOJu0Yz5IR1Sl44ClTWn7R4CuI1BaSUifnf4SNH+x+JDdTVI0u/dE4Ud DAWEtuO4074thTWv3NEtFGZG6pUPXb5v4xjtYYeUag5kZOd1zH9yLaAntO3xxrBfM2DwXO305i0 0w9lLju3QvrH7TpbLXqJl7nBsvQ8= X-Google-Smtp-Source: AGHT+IEKmQOIO99Cy2PnIM81KCFOVa4ilM/m0cRNuICz2NTtbhgzxazeUf63/NlAzJ6BqYTxuNKaRq+f3SJXFIotd7Q= X-Received: by 2002:a05:6358:528d:b0:1b1:a7f4:fee4 with SMTP id e5c5f4694b2df-1b1aab8453dmr519220855d.14.1723676604637; Wed, 14 Aug 2024 16:03:24 -0700 (PDT) MIME-Version: 1.0 References: <20240813215358.2259750-1-shakeel.butt@linux.dev> In-Reply-To: From: Nhat Pham Date: Wed, 14 Aug 2024 16:03:13 -0700 Message-ID: Subject: Re: [PATCH v2] memcg: use ratelimited stats flush in the reclaim To: Shakeel Butt Cc: Jesper Dangaard Brouer , Yosry Ahmed , Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Yu Zhao , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Meta kernel team , cgroups@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Queue-Id: 087A310001E X-Rspamd-Server: rspam01 X-Stat-Signature: 17etg3g31ccn67jqu5k656ojk8qru7h3 X-HE-Tag: 1723676605-890961 X-HE-Meta: U2FsdGVkX1/crJXC05z5Kuu6XqPhlbahiu3gO/rWqGo6XfBMZRJ1lTQROekktZbbVixP/5TE8JSR178pxvpmEvEeBa/2YRskhjcO3MatqqMC/qqAxbZYcOzTlpj0LNdt9xdheHhMU3pdnx/6UvT+Bq92w27BsksFdcA1FJtN/6optWIi0CDFChIejYqLlnpvzcAZr9cqQUI44bihCQQxwAjBEnREnK1tCgTzCKddakWF+RklFpmaT6EOkCuBthGgptm5NJkNlBsrrXr+eVDl4uMHsoVe8eVElsLlicErI2jrpdlvjxxYt1l/uvj32zoWonmGSgfSaTI60PgmGs3XhthcJCkZSQ1+6wo4MpcaYNjuZ2t6NMW4vyiJ4RCJ+EsiG52uJHYVyrR9SMs0D896a/4XmbNEmWSCddGDHLPLID7nX/Pe9+4VqWM1tVSQ9csVggahEErpnNkVglNc7HoRDtCCUac7DuWL2zHov2w9q4jq517oQk3EbjJ8vIB1fqQ6FSbTBx1Y5j8u85oruH5nu+EQI36IiQTncvtDheydEpD0nWJGwqSBTqNFBZX0XtWvXE5f31R6FzUR/s/Chyjyp6SgyUBXAaUpqY9GWSYMIsL2oXq7ecR61dNiHzBat6eEWVCxP1ZbVy/uQdpwoDvRWzHLHxWfuOXkso4H0o67K6NS1t1z/OIjBeA6UlLaTEJ86bmiKgYkK/DeVSNC/jAw1MLynk3vXeuOTMIcwQlcvH4cwJyCYGQG6hM2TJdw9m7BSaUoJ8dtYt/MlAi9bBatIhiU4Aknd0zeds/O8wHr1p9pActer6Ef7Tb6mK0tNcB4UevYne8+Ka0xCjM+m50g7XaG5NQ20izynIvklh11F3BEheflNDx7ijMmqTlCwFAIdKtxoO0X/xz8hNDe76Z5F9TDcsq1sUJ6dUdb5kix10QzQ2dZ2tXI9POnRXLPWh2P4UvPEdycFwSML5YOIL7 BKP9iHXL U0ML6nMCS/caiG28eDqt4kKMyswtdu1083dOovNONVoIjFKmUkoC6GxquOeajXUxbrtHQiu3JqEIAx8BahdR8LpL85JijWW7rsf1HvgSAjR3O3HnmOVcEXSbsy+H7tDJATicTl75BQl/e/13WDnhJIgUAqsdhMm+JPerJOfmylVaZwuB/j9ZI5Iyc20XDh4Or1mgCSWwo6DZCunh12JD8eBHq66RwN1Kgtpcr8zjc3quqwlxbPa2mN+SYbnISXhmFwSVor3Og874+M10oSAyBkGaPn3YKwxmEMUPioGm9u6KKO1Q= 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, Aug 14, 2024 at 9:32=E2=80=AFAM Shakeel Butt wrote: > > > Ccing Nhat > > On Wed, Aug 14, 2024 at 02:57:38PM GMT, Jesper Dangaard Brouer wrote: > > I suspect the next whac-a-mole will be the rstat flush for the slab cod= e > > that kswapd also activates via shrink_slab, that via > > shrinker->count_objects() invoke count_shadow_nodes(). > > > > Actually count_shadow_nodes() is already using ratelimited version. > However zswap_shrinker_count() is still using the sync version. Nhat is > modifying this code at the moment and we can ask if we really need most > accurate values for MEMCG_ZSWAP_B and MEMCG_ZSWAPPED for the zswap > writeback heuristic. You are referring to this, correct: mem_cgroup_flush_stats(memcg); nr_backing =3D memcg_page_state(memcg, MEMCG_ZSWAP_B) >> PAGE_SHIFT; nr_stored =3D memcg_page_state(memcg, MEMCG_ZSWAPPED); It's already a bit less-than-accurate - as you pointed out in another discussion, it takes into account the objects and sizes of the entire subtree, rather than just the ones charged to the current (memcg, node) combo. Feel free to optimize this away! In fact, I should probably replace this with another (atomic?) counter in zswap_lruvec_state struct, which tracks the post-compression size. That way, we'll have a better estimate of the compression factor - total post-compression size / (length of LRU * page size), and perhaps avoid the whole stat flushing path altogether... > > > --Jesper