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 10344C001B0 for ; Mon, 14 Aug 2023 15:59:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A611F900002; Mon, 14 Aug 2023 11:59:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A10DD8E0001; Mon, 14 Aug 2023 11:59:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8D8E8900002; Mon, 14 Aug 2023 11:59:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 8054F8E0001 for ; Mon, 14 Aug 2023 11:59:48 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 935D3B197C for ; Mon, 14 Aug 2023 15:59:45 +0000 (UTC) X-FDA: 81123170730.20.7721659 Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) by imf12.hostedemail.com (Postfix) with ESMTP id A4AF14001D for ; Mon, 14 Aug 2023 15:59:43 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b="QeiZ/V/H"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf12.hostedemail.com: domain of yuzhao@google.com designates 209.85.160.169 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692028783; 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=4i5eV473f7wGLCUwgr8eYOWIRZnCPm+12Iu8HyqFQZ4=; b=j0oPS+sG2KaChMB1rgDwhlofFVc+BpMh8jIDrXFVAlb3lXDqCyvFl/CHQA1CzCmV8qBFAO WCeDExhiOtAn+ovAzLL7ImyYnMhu55+/lIJVFQs0L6lZ+rx65dUqlyBGvvMfO+iZMpVwET fpfzK5a8UJ51CLmZm0e9WCFRqDMwQYk= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b="QeiZ/V/H"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf12.hostedemail.com: domain of yuzhao@google.com designates 209.85.160.169 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692028783; a=rsa-sha256; cv=none; b=F/33u4B0+L+rZpDKTq/D1aQnuYW4lggNXyYyqhTzB9pxgLELoeGVyoZOtErT5NFhobNAPU IpBzinZAECsWjmFVwJZKRdBiGBikGsC8EZQ3HLKXZ9vI3PygVAMXzDavRr0qw71+edxpV0 a/E1ZkYw+2/wt7jFrzr7WrAZHuu32+o= Received: by mail-qt1-f169.google.com with SMTP id d75a77b69052e-40c72caec5cso420941cf.0 for ; Mon, 14 Aug 2023 08:59:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1692028783; x=1692633583; 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=4i5eV473f7wGLCUwgr8eYOWIRZnCPm+12Iu8HyqFQZ4=; b=QeiZ/V/HDBgQma+VPIYzMnSI+wWGXhP/WATnzSaWxUHnnjG3VkOwog2bBquQo1mZR7 oPZDpTClhz0d2BeL+bbe9t0ejh1ggNvxQyKYv5vSBvWn8v2o+Ujx849qi74bmVekOhWn 0CEpgDR2s1tpA1B3llKF+Z4j5+dcItmBfhWKCJn9gvtTIhtC8obgDF36yXvcQrtaG5qe pKgEEnFGO3nwXE4I8uoslqMT2uvaxpHz+5kYnc3qiMhJJ5PBtKKjlXMzFiAj0jdlPgR4 nJUXmE3FC6Ph72MDRc4XiBwU7Qz+THcSA6Gb0LX3GiXKfFWTIukNVZaXoWMUsaaBBqFL Drug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692028783; x=1692633583; 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=4i5eV473f7wGLCUwgr8eYOWIRZnCPm+12Iu8HyqFQZ4=; b=e3CDbTySNZtq3CQBTCkI2oaUkpBuUgynH8260NH37KUd3SC606k4leP/Ypbm5q/QLq irnrOXZLZgHtaj3angotpx8uBS1nkQcFBTIf5vUh18gvVFYR72TI+ahjenwIDmDTB3cm AShcdNH5WM2Ens1rT6yI3QdHKJ6lk0Q1AMUCnpfkO4KLd6XuQdZ81/wkEoHRallaghbJ lyJ1lhmIifE4NZWBYzL/OOlbK+EzcLsKT7jhsmHuUGlNdxIAyc0a21Hdhfuf3irm1msz 0BIZo7lPTqpvfzTdLCzsGO4GaIG227ZEdeR2H0vCti9/iGAsCXKSMRdKxDVg7DFnWzrA BNYg== X-Gm-Message-State: AOJu0YwuB5Ap3bTyZ/T/62uLAY803zRuZo4tY8TtXcvLLXkDE4KyDRNg WGGFDjqv8rLwYZmD0J4Y/A3v41ZDC34i5KUoVfIvMA== X-Google-Smtp-Source: AGHT+IFDjRWBRJPugWc/SmG/R5CLHd5UA0RCFSy3Sbq0ldUfjl8s+ZFz2wUt7NFfjwQ8aSKf/5oKkOjuCtNMQFLvpng= X-Received: by 2002:a05:622a:1988:b0:410:3405:7398 with SMTP id u8-20020a05622a198800b0041034057398mr586521qtc.18.1692028782725; Mon, 14 Aug 2023 08:59:42 -0700 (PDT) MIME-Version: 1.0 References: <20230814151636.1639123-1-tjmercier@google.com> In-Reply-To: <20230814151636.1639123-1-tjmercier@google.com> From: Yu Zhao Date: Mon, 14 Aug 2023 09:59:06 -0600 Message-ID: Subject: Re: [PATCH mm-unstable] mm: multi-gen LRU: don't spin during memcg release To: "T.J. Mercier" , akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, android-mm@google.com, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: A4AF14001D X-Stat-Signature: fu7eoniix938x4izcmpsibws8rpgugic X-Rspam-User: X-HE-Tag: 1692028783-703572 X-HE-Meta: U2FsdGVkX1/TXtjvveGn0xpTI6YanA6jGlUgK4cPr5aR8kMwfAOKE0B66/bVtoE5q79R/7KNZ37pLYeaCT0pGVj+PMgdG++V26/hL9Hrojo+zYYCxy3SYS7pbbeok4aNNzsAdbF7k/9LvyaxLPvM104ptZB3kPd4Cc/ddH6CRmqpx0IuV5Gb0KHMIs4e1lDkw7hwu6uGbUnOxQSPnbagmJtlxBOCaEfIdW5Y11IZOrI/U2rS10PXIH4gZHnPsxrWe3uNLAZrBiL/xQ0S4vYb2kn22um55T/s1IZm+g0IE3mmCv8ADoWVJSjyHUXefpDIAH5nvwRPtf00xZTjpMk5ObBoT4laj1/rHYVi4rYFI0lcsXnJLnmFvo2jqHiID3YKAtxYrHfqZ3/9NK8bcRWNGFrBev2VPdLnQ9MzEgNtT7r7fqvwI9GHs/HpPb2WpsYFxVaToK5mOuuZRlQhLHBcfSkJwhTA57uHd5F7Ke49C1ysBDTKLp7N5gbXi3udcLHXYTlhMEoNBsi75gAL9z1BjvDkr5ZmcDchZKaQ9qLKR3PWpUUPxmPHe8JHf2jHLQswOnt322u9sah3EIrWIobk2+enk8KOew/dScoU/pUW1vV7kerKydF12vRfTBhBZGDh5yOTqcA+Eu3VlFOA7zxx22+LR4nuqOPSnu0xsRub+At4jifCh4aoM+xuDwtUEBk6noZXQvzroW52MtM6lJQ0PcD+GKUD9F/OSGomH5QDZdFrXAuSK1+iCz2sSV6HQTM9C6mcjlcvN7r2Ooc8pSfNn5W+kK0XEMLuC5XF0BJsVGaHsLukD7Ddf8H2MU/2wf4vs4cl36C9a16CSNNch0Mt5k3+DxNs3A9HB5xm5QWn5f+0R0S4d8KDiD8AefFclZILW/Gpu0nSXqUkw3wdIqKaRTn+/EJ1uOfzs+2JDNDKNsKJlyEUdMiEIsB7wq3aPyeR/nx/08NIOPHlGB48MHY 1m0U6/Cs 66ffLYGu4k3ZKZX3jmczuwWqD+KfwMg7cyGHpT8B7FGQBjY/8JGRMPW3kz4ElMF5rRM1lOk4Aoo1ufmHzYcbRq1sFvkqE7nM+SaAQ2U/VIeOhIpxaFCGMo6ks6dPqkJoXo3rkb3ou4lw9fe7uO5/GwfImlzvDyx3X+gtyql3sVkeTio/vZOCz9DQ8e3KjunfyCOGJXePm7u5FhG8byZpBtVW8dIkiMxpj4MF1UNglqHODjz1Z4qrGD6gX5LUHaTqAjyoUgOoVn+prSRE= 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: On Mon, Aug 14, 2023 at 9:16=E2=80=AFAM T.J. Mercier = wrote: > > When a memcg is in the process of being released mem_cgroup_tryget will > fail because its reference count has already reached 0. This can happen > during reclaim if the memcg has already been offlined, and we reclaim > all remaining pages attributed to the offlined memcg. shrink_many > attempts to skip the empty memcg in this case, and continue reclaiming > from the remaining memcgs in the old generation. If there is only one > memcg remaining, or if all remaining memcgs are in the process of being > released then shrink_many will spin until all memcgs have finished > being released. The release occurs through a workqueue, so it can take > a while before kswapd is able to make any further progress. > > This fix results in reductions in kswapd activity and direct reclaim in > a test where 28 apps (working set size > total memory) are repeatedly > launched in a random sequence: > > A B delta ratio(%) > allocstall_movable 5962 3539 -2423 -40.64 > allocstall_normal 2661 2417 -244 -9.17 > kswapd_high_wmark_hit_quickly 53152 7594 -45558 -85.71 > pageoutrun 57365 11750 -45615 -79.52 > > Fixes: e4dde56cd208 ("mm: multi-gen LRU: per-node lru_gen_folio lists") > Cc: stable@vger.kernel.org > Signed-off-by: T.J. Mercier Acked-by: Yu Zhao