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 805DBC54E71 for ; Fri, 22 Mar 2024 03:21:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1B0D26B008A; Thu, 21 Mar 2024 23:21:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1637D6B008C; Thu, 21 Mar 2024 23:21:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 029BE6B0092; Thu, 21 Mar 2024 23:21:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id E591C6B008A for ; Thu, 21 Mar 2024 23:21:30 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id B6D9980AB1 for ; Fri, 22 Mar 2024 03:21:30 +0000 (UTC) X-FDA: 81923224740.21.AC6158A Received: from mail-qv1-f50.google.com (mail-qv1-f50.google.com [209.85.219.50]) by imf18.hostedemail.com (Postfix) with ESMTP id E72371C0008 for ; Fri, 22 Mar 2024 03:21:28 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=nlnRA0a0; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf18.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.50 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711077688; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=3qK5RPUIDEOrZPbW4+iO0DfmSBKeGfcgd9g52YFXjRo=; b=boRTtKzDj9gvriY22HHfA62qGbkA+pEi+geDK7Gxolz4/IVWu9MGKR3k/KVeQkikAlUNeq bZCDDH4p2aO4IBZooDmF2uVcVxbictjUK7LqKtuHs6SYxnohKXaQQ/vVNDddYkeToIXX+B zYxB2azf1SzKK/RA5HqmycO1s3F662c= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=nlnRA0a0; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf18.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.50 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711077688; a=rsa-sha256; cv=none; b=j8eBDaVGm4tv9W5OD9wqTiG1SnMcLY6TIGxgUc1mAeTdcXQ5wkTsyThxqLdShlrr4BBUAB n2hVjcgbjy3tMWFnCoGc0KSRHw/w2QU5qAGwTFaoe/cVeQ+ExELoIaX2rg9KPVcdwo7Tlg uX7ThCn+0xArMaUcQDRATx3N7SDlF+w= Received: by mail-qv1-f50.google.com with SMTP id 6a1803df08f44-68f41af71ebso13709216d6.1 for ; Thu, 21 Mar 2024 20:21:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1711077688; x=1711682488; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=3qK5RPUIDEOrZPbW4+iO0DfmSBKeGfcgd9g52YFXjRo=; b=nlnRA0a0vRBzppDmDoIS8eCI82s9Kmm1Pnq5ZcbEyWteEx5D2/9k9ciukUJVajoFbv 7CFErG5TYLIRVlIV9TKsaQr0m4S6HWmpLhze8h+f9Z8uV3DsIL0UDTSbqwHkjLb7f3FG ivdJEfM9YZCJXIqM+vY3RlcrKSi0iudiE4nf6i76i4wHnezgf3yx4GlFODoJWjlFjQJE oez5SDrqjX6L6zx2HihcAGqX6JXDTBHeqqjDkr3hf7n2ec60owUv3P/YluUIibnMs67C f4cEs/nHcVb3YPpWb592fvX2hqRsrMg/+2rBa6/wZuTGyWgcrAQoD6yzNtnSaulnT55v wYFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711077688; x=1711682488; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=3qK5RPUIDEOrZPbW4+iO0DfmSBKeGfcgd9g52YFXjRo=; b=pqMXs46CzNw7ZeXL7ILuKCwRq+ysIh+lo6EdoytEAogm1iAbapHSx++RgyoIBl2rKs OjASaO3TDTyCA7eS3/vVGepfOZgC8LvGRR7MJUpjp+PLx815Y+k/cvWhhNFz0aw3K/T1 +pRWcQrVLuywJXsrW4L7KqY6MA274o1lX/85aIAsdfy9abQgJXJHyZkd6LSM/GEuTshf r002d4dRV0JSQg1AhscBjZMOvRSv9c02Re5ov2qHposDKlKc/4OZksGhveSVmzOCGQ4N vjZvgu6G6yWrt4la+6yzdys6gkc2nED1U0Yq5hRDrqa4fKt2z/UIzzRGGvalYwdaEmZr hNUA== X-Forwarded-Encrypted: i=1; AJvYcCUZHARrBERWsU9VBucAry/DP/R+VXtF6m06dOUJcfAT4iMDymHAkD9oFBIdaCHMZmLGLGtJEhmcjpGcUR1acNllwy4= X-Gm-Message-State: AOJu0Yx9n6mZaYpKlUB889v3zDjTUkfM/JdYnjZiPQde3RcyVadDTJaD +elJiiWxdR3RLSTDRzehe3j4n7IK+Lf4U4pmOe8OFYo0dphC+Km19b8EAxcgCu0= X-Google-Smtp-Source: AGHT+IH7QYn/l822uz8oO4e/U6++L6Y9qq/qc4KZBmTPJBPyFugkvvMFNGcGHXIMwad3F4HiVQ4HqA== X-Received: by 2002:a05:6214:2aab:b0:690:9629:da5c with SMTP id js11-20020a0562142aab00b006909629da5cmr1022104qvb.24.1711077687834; Thu, 21 Mar 2024 20:21:27 -0700 (PDT) Received: from localhost ([2620:10d:c091:400::5:16be]) by smtp.gmail.com with ESMTPSA id kc1-20020a056214410100b00695e602d356sm637127qvb.46.2024.03.21.20.21.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Mar 2024 20:21:27 -0700 (PDT) Date: Thu, 21 Mar 2024 23:21:26 -0400 From: Johannes Weiner To: Yosry Ahmed Cc: Andrew Morton , Nhat Pham , Chengming Zhou , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] mm: zswap: remove nr_zswap_stored atomic Message-ID: <20240322032126.GB237176@cmpxchg.org> References: <20240322001001.1562517-1-yosryahmed@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240322001001.1562517-1-yosryahmed@google.com> X-Rspamd-Queue-Id: E72371C0008 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 14stj9ypsqucd4qn7dmb9uqicgm6as78 X-HE-Tag: 1711077688-804296 X-HE-Meta: U2FsdGVkX19KM76m8QrYYp+JjJipGXxJJK7lAL68lsQ7kDFNA/1eVAUDh7u0oWhkP4gadecwQQ0Xr71E2PP5KOhKVd3dzCX6dmSMvsqiYiNI+fzq/T1sbdr/YwSqtJTCxxKbJdb71n28C1xiJ/BqF/qQVIvH1xJrDMM36EVwsJ8uKeijVzmxbv/0zVxvuCtJI5OWCz7rudkPKSH6mJPIOQmz35UO0vUd9JoUKhrty2v4G073ITbI7zSiTy5KyqOiflNfIdlujCMyHRcqnAt75MDK8gv9fBQEXfOWfsgMkMHMT4cOBNzRwpG2GqQUyid/LGc3hX8HIapFn7AboFOkmd+G8hiy/wQ0jaWQ1JHB+30GRgseQLN493wvl+uFxptgGzmHp3WVZwWylaBIZcaMGdXfAnOVn0nOswR+/V/rF3A/DtyNFEk7myBcNkfsxXqZPVmTBDqtYrPFRUEjNoRvtJMFFaZtICfAG5JatPF76pLPOe3t1IzJGaUoszMyIVW6kxXxHHRQdXnJdfTCzSzFUEiuCB3Bgq9or1oiu0lNn/1ysrWIlb9L7q2jvGDkWYNugO2Pkg6qq/ASHMQpnFsn36txHsXu5zAlTmjZuCxoUOgNkIgJa1l8VNaxRz+UIy8wqgN10V5lZEho03S0Du/EMFHn3arew8b0sthZRHDuCxTP/Nw6K3tRfl1LZ+NDTwaA5H1vmLYCOPHaU1nUkEFPqZYjpLpnV1HJ2Ab7olzBcJJp5X3IH14Wag7VcyhPfd1eiE2NrnxFTK02cjU9RP4yCyovXC4QnV9cS6OtnSp3iio3QNYwm7DkKrICZTwCRhOba9lYheeNr2vIt+3zU5Uf4Tl8IpE/mbyfQr/bALRO4fTdE3pD3aJAuLO0TOTrcylUwUM7tvC24D8m+RWUeQeYmGMDoquQgqvWS/AmL27QcLvSwOCgTNvGZpmye4PnV0FoOj0gNgFwICo4DXBCNXO ZDIxUkA2 CjJ0jzTZkKPxepqR4MyGNqeBfJnUo+CextioW/IOdj4th/0T+NP+8bpbVA+TcXi9RCczzLf2gjP9Y1fojI2kCptX0oImv+cgtA7SXyt0kFJH/Eqiywsh5GYLGLiUiWVi6/7s5bKLaSIdB70pS2BeBiJ4WdLeUIRW2oBkxdE/k3OmX67Qplw00BZW1RBI/8dofkWwVcxWskpv/5Dei8nf7d1OwuNcR527Xexezuo9KeWF9HvCSgHeTW7fPtVOtjKTiZ690jhiqNTOw0wf2LWUN9vHrQS7QXXvyrtWqenO7k6sKyFi1iblalwBPRX4k8aN/5w2DdAikorUbIfe4B7DF3FHO4Q60w7FOURj0GxW+rIB8QLPNbLjx3ewzSF+ObCZpIqdmdpXiCkOiH52ZrLnvmNlBN47rOa/X3DtGZ+C0hJeTjtAcBYgwm2EmygSxspUKh3tdOTwChXjU1rgLw9HP3oCJInGy2MbUFTE06OPSVdSP46G1KZ5ar02FEA6S4i6lXW/2DGD9jVmM/p1u/qyzrujbvwG6PH1egG4rGcbfBtdOz2HD7CH/tlUf8uUvpCzHtMCKM+8L0OFtKmgeAd/PUa3iXxEudiV4KyF0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000577, 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 Fri, Mar 22, 2024 at 12:10:01AM +0000, Yosry Ahmed wrote: > nr_stored was introduced by commit b5ba474f3f51 ("zswap: shrink zswap > pool based on memory pressure") as a per zswap_pool counter of the > number of stored pages that are not same-filled pages. It is used in > zswap_shrinker_count() to scale the number of freeable compressed pages > by the compression ratio. That is, to reduce the amount of writeback > from zswap with higher compression ratios as the ROI from IO diminishes. > > Later on, commit bf9b7df23cb3 ("mm/zswap: global lru and shrinker shared > by all zswap_pools") made the shrinker global (not per zswap_pool), and > replaced nr_stored with nr_zswap_stored (initially introduced as > zswap.nr_stored), which is now a global counter. > > The counter is now awfully close to zswap_stored_pages. The only > difference is that the latter also includes same-filled pages. Also, > when memcgs are enabled, we use memcg_page_state(memcg, MEMCG_ZSWAPPED), > which includes same-filled pages anyway (i.e. equivalent to > zswap_stored_pages). > > Use zswap_stored_pages instead in zswap_shrinker_count() to keep things > consistent whether memcgs are enabled or not, and add a comment about > the number of freeable pages possibly being scaled down more than it > should if we have lots of same-filled pages (i.e. inflated compression > ratio). > > Remove nr_zswap_stored and one atomic operation in the store and free > paths. > > Signed-off-by: Yosry Ahmed > Reviewed-by: Nhat Pham Acked-by: Johannes Weiner