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 67465C3DA63 for ; Tue, 23 Jul 2024 15:57:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EFBCF6B00A0; Tue, 23 Jul 2024 11:57:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E84D26B00A2; Tue, 23 Jul 2024 11:57:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D263B6B00A3; Tue, 23 Jul 2024 11:57:10 -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 B131A6B00A0 for ; Tue, 23 Jul 2024 11:57:10 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 5BD50C0230 for ; Tue, 23 Jul 2024 15:57:10 +0000 (UTC) X-FDA: 82371471420.14.F59A035 Received: from mail-yb1-f182.google.com (mail-yb1-f182.google.com [209.85.219.182]) by imf05.hostedemail.com (Postfix) with ESMTP id 95D3C100008 for ; Tue, 23 Jul 2024 15:57:08 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cLBPenqj; spf=pass (imf05.hostedemail.com: domain of flintglass@gmail.com designates 209.85.219.182 as permitted sender) smtp.mailfrom=flintglass@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=1721750166; 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=EsozLdOKEc1rJbozqYDJV6yGo9TFrqFfGRl3ajV39QQ=; b=K0ZwILCWF7PXdgrwGxS+XK8dA6+NIc1a5MiHpw60igaNFPMxk0u/iJ5rQgitANQCNLYrwV bmgjh1FkGHs5z4+Ebtxc1Q7tg1bOyoiEjD0vU+aXvCicdhqTQCd+R+5BO+27oe4put33q1 Fyq92saBUz2hMJCWJpCod+JCCBBATO8= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cLBPenqj; spf=pass (imf05.hostedemail.com: domain of flintglass@gmail.com designates 209.85.219.182 as permitted sender) smtp.mailfrom=flintglass@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1721750166; a=rsa-sha256; cv=none; b=qRtooX5bX3Q+YMcb8qOe5tz7JrgIR4OhixY6XiusWiTOwCrX4H+ZOOWsy3VgN8rDRZlDVl 9pT/56MWNO1ePUibI7Sb7zHoYgNYuZ5peYrHvwFEaZMgUhonl4THWb1ON4R6dGhv6CXhJA i8tL6xka50NTvj1TLKVPAdcE0cbn5eU= Received: by mail-yb1-f182.google.com with SMTP id 3f1490d57ef6-e05ebd3d607so5628482276.3 for ; Tue, 23 Jul 2024 08:57:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721750227; x=1722355027; 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=EsozLdOKEc1rJbozqYDJV6yGo9TFrqFfGRl3ajV39QQ=; b=cLBPenqja9gH0T2ILfdoDK0coowT016aeGwEGFkA9+jMd6nNtIicnEPGfUdyzXiwbS 3tdOxYprJ/RHojCn04XJ4pqRjDpZzw7INQvxroGn8tacskbJTbNsh2fIiZ7jw9w2NiUx qNWhEfKDf9Oibf8Koe1r6UhTSdRkbHO8uJRr76KidK3EOrElPYfX2gUtABnUoXx3uuCD HTp+EY2lr/aLjix2mOPZ7Zx4zmIxrM6QjMXYtOf/RkdCJzLvelJZZMVyUQhKjwVlky2p 5kNtv07YEVgHd1agiPBRE3obVKKi1APd1J6o3sO9PfKglw0/2MItWRbs4kUkY4jj3yKR 9CgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721750227; x=1722355027; 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=EsozLdOKEc1rJbozqYDJV6yGo9TFrqFfGRl3ajV39QQ=; b=fbeapB4gXIAYKzFemXMS1s1P1BOSCUZsifX/uI6zOAHtGiTGa7vupgfeItnQAiKFmq 1NASMAd++rFsqGdjZxTXeUN9w2Ts0nxrXVZHyTjsY/K26uiUG+QdDNIvWCe0u/0AXK/p XZsXVSl/1IjpKXoocxMLVd2rjRb6u/+eelvzJKCc6zrJK8NW6tT1SUKONoVdAD4UWVqe +y+/WC3hrsdXrky9dxw+Zgb3H/1kcUnv99U9f/cR77eP8ql/s64Kq8I+MLAy5qUlLItT Gdo/IVi72WEZ3W1f3mkfQwfC6ThWSLaEt/tXhCfa1X7KpdN7E1IH341amvGUEViDEiNi 3vng== X-Forwarded-Encrypted: i=1; AJvYcCXh0iCtoQnz0YQuu7PZBDa17Z9W8F2efTPoOKzzg8hgydfMWC+7c6TNpAxgUBoJUX72Fhv1WnlEvKeXXP5ra/sTKuM= X-Gm-Message-State: AOJu0YyoEU+KHG1XLHNhb+Vz1HSnI0p1wnjCtmhUYEMvAQxkoHXy/HzH VAlwynpwOXe1E/xbq+OadiIJbX4lfBcg5ylc3pg7J42LHtd586zPJWnJBsQVmO6u09qFAt0SgY3 oAOXMSa11R7NRvv/c+dDd/RfRySc5bzKl X-Google-Smtp-Source: AGHT+IEldix2rEiojme8rV7Ae+HFJbZ+tCueg7NNkQRBj8Evx8Jy7newor7fLsSdkdGM3x1Jfl4XbsJvTQSodJhkD1M= X-Received: by 2002:a05:6902:2b8d:b0:e02:b720:3b2b with SMTP id 3f1490d57ef6-e0b09719a11mr275127276.14.1721750227410; Tue, 23 Jul 2024 08:57:07 -0700 (PDT) MIME-Version: 1.0 References: <20240720044127.508042-1-flintglass@gmail.com> <20240720044127.508042-2-flintglass@gmail.com> In-Reply-To: From: Takero Funaki Date: Wed, 24 Jul 2024 00:56:56 +0900 Message-ID: Subject: Re: [PATCH v3 1/2] mm: zswap: fix global shrinker memcg iteration To: Yosry Ahmed Cc: Johannes Weiner , Nhat Pham , Chengming Zhou , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 95D3C100008 X-Stat-Signature: 616piiamqb5h93f9rr1egntzuj5b9669 X-Rspam-User: X-HE-Tag: 1721750228-132527 X-HE-Meta: U2FsdGVkX1+NFRmkgcFWvXTc79yayhpVxCK8sbh4qTCJgMaGNSilmFsUjZnyjKx0rIIr0C64+KNO46bCdELRRc8mV5FnzHVFGuBiW/mYSm3noOmUusV/QrcRiVF4kiOwtclGgK52jtZXoHWQ0vHKwyXm7mY9THJn26fJVnc1S33JofNA78oDzolBQHR64C64kgDpe0EnNM4qkzXrNl+SYOKADJzHrnASMsmDv+N/TOHmMmWPNjIFIBtqI1lgtQhFRmKgmO5pbk93t4ZYxT+9P39X4vEUN9SxLTeKTMbh8jRq15LPEeBvhOurokbC8mLNorN1QbW/bc7+rSRIZqHV1RdvjW7vfXg2gIBLn6F0CcYxhhLALlILUla9rVdXl6tEHFRpIZH1ySeTwRYInA6Ippk7YJvikChbXHKQRTSNV4A0E2bptt2At6eo6r6OfMgXfRx0xMma39fbwsZickURbVCRtn4huYKQg3fOHSBztO25FQfTK2pBGDDdZ+BhPkK8746MTdyJU8457ktt7ujSrotz41g0ZuKcOQlC+e1fThmQG8pxBNSOBrEEkmQaDhRE0rWC2BVKeila8dMxivw24WOIrpdZRVl9wJ3/2jMEmqqRhveQBBHyxEueNK7arEhCnjq0SPSxydCiEq8DSGh/xawMQAKuHVSM18p7CSU2jFNwS5YKyGS3SJwXqHFNqy11nNTzGbAvfasdd306Gd3wYTxWpCifSp4McFMQ0jCBR9rjZtL6P1ZBy6Cvumczw8VtU8OoNFFkKleWbrvveDhiFUTt2Qy4Z5JS+A21TzVT52S6teG5gvnYH4XuPOFQ/k3zwUy4lxm26bA7dqpY3IDZ1Db4z5UvgJX/s8fWfKeHF+KEkl5LduSEbjLshqvyImDmSZvJrCI2dXB90c7m+72sX9XP5Gu/vh8rhskiK13FD2ME8h+7yey6CFu40R+GM2lOdwdGBXbNPTI7lPUCTjz mxWrljOu kDWpuZesrF1us6/bwk6EeVmDLbEggqF3889jbe/2JLB8tzrYswmpth8lRVp7BfXvl0ZW7BPQaZU1QESDkDmCwz7aYyaqlaJgdXCPZ1OeLNbXqkB4i0mWxaoKxChXl7SQBs4szg/GNqkF/gcNyi5hqbQzyHPxLPRd/zeGVVKtMqgWooMBaY/XCvVQWV+AzuE6kJoL0+RnaivrUl7eUCo954C1SB9JNjtzA6Aiv5Mk6ZlhCHAqt2uXUATNiZyZP+LwE6TudPBEZbM1w3eEWc71X1rpzzJ8r+xdSiqssQ/yVJ5qmicrQI7ZV2F2gZn8L+xZh6P68CKhgWhhVTT82C/5WA7FiBg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: 2024=E5=B9=B47=E6=9C=8823=E6=97=A5(=E7=81=AB) 15:37 Yosry Ahmed : > > On Fri, Jul 19, 2024 at 9:41=E2=80=AFPM Takero Funaki wrote: > > > > This patch fixes an issue where the zswap global shrinker stopped > > iterating through the memcg tree. > > > > The problem was that shrink_worker() would stop iterating when a memcg > > was being offlined and restart from the tree root. Now, it properly > > handles the offline memcg and continues shrinking with the next memcg. > > It is probably worth explicitly calling out that before this change, > the shrinker would stop considering an offline memcg as a failure and > stop after hitting 16 failures, but after this change, a failure is > hitting the end of the tree. This means that cgroup trees with a lot > of offline cgroups will now observe significantly higher zswap > writeback activity. > > Similarly, in the next patch commit log, please explicitly call out > the expected behavioral change, that hitting an empty memcg or > reaching the end of a tree is no longer considered a failure if there > is progress, which means that trees with a few cgroups using zswap > will now observe significantly higher zswap writeback activity. > Thanks for the comments. Dropping the comments and changing the commit message to: The problem was that shrink_worker() would restart iterating memcg tree from the tree root, considering an offline memcg as a failure, and abor= t shrinking after encountering the offline memcg 16 times even if there i= s only one offline memcg. After this change, an offline memcg in the tree is no longer considered a failure. This allows the shrinker to continue shrinking the other online memcgs regardless of whether an offline memc= g exists, gives higher zswap writeback activity. These issues do not require many offline memcgs or empty memcgs. Without these patches, the shrinker would abort shrinking too early even if there is only one offline memcg or only one empty memcg. The shrinker counted the same memcg as another failure in every tree walks and the failures limited writeback upto 16 pages * memcgs.