From patchwork Mon Sep 30 22:12:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kanchana P Sridhar X-Patchwork-Id: 13817145 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 8B637CEB2C9 for ; Mon, 30 Sep 2024 22:12:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 12381280033; Mon, 30 Sep 2024 18:12:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0D85B280034; Mon, 30 Sep 2024 18:12:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E8A35280033; Mon, 30 Sep 2024 18:12:29 -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 C617028002D for ; Mon, 30 Sep 2024 18:12:29 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 7CC2AA0AEB for ; Mon, 30 Sep 2024 22:12:29 +0000 (UTC) X-FDA: 82622804418.19.0E27603 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by imf16.hostedemail.com (Postfix) with ESMTP id 4C86E18000F for ; Mon, 30 Sep 2024 22:12:27 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="ZXZtiPk/"; spf=pass (imf16.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 198.175.65.9 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727734179; 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=5EdKqjOL7o3kOjKhQvu2azcBBD6RrwG0Yp5W/R+zxPE=; b=pgMXhRg+8vPJa6iLkGlXgI2grsrJ+6085a6NskMLF0vDLQj5ArexPsxOKdZmdiLB2B+qq1 xSfZDlv53utBNj2mtxddVRf2lrLOmx3PXPkweZIWtDd/SdhKTrVaU/Ghptuu9CnSsjegVh rI2QKzanfAr97df8PsjsliyMSvdikeg= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="ZXZtiPk/"; spf=pass (imf16.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 198.175.65.9 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727734179; a=rsa-sha256; cv=none; b=tMGOuBLx37LEtGyX0XNS5oihTTtedTLC3oROuJ/p1FkTBE5YXXaAEj1aERVdglDiBrsvaX I6GYoJGBF6vpEZKHn3rZa08vuehyrCsTK+XKmbT35rbmptCaLEQm55A+aJ7MYM95J1vxm0 PMJimpEHdtYxuqUGOZbEEnBbAIlVxlw= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1727734348; x=1759270348; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=RXFigHVvqX66h0CgnEPMdbPUVdZNL13x+vDE/BJrhj8=; b=ZXZtiPk/2zQqpDrrylSaQKFTFpTX7L+YvAHp6QsP/Bt7A0voEWoRoqck 6XVgkn3OeLIgppJ1/rROqxFzbFiqzIr4VGVY+CfOnxai5RUWEvoHJkfal 9dRG2u+tq6OvRh/MpMgS8Tig+ZI8LoTs3G537rnF2yaJDmSrJCwvcRfzp FdyZW7fIu9nnJSTJGSUKtUGT79JORLQ3KYDSbMJiI0szrcd0jvFcNFOUu hGYsTvgB9P50mqHnjS4x3SJZVUquA4pswdIfmAV89jQAUQ86PiOUay3Q5 XUQQHoCQEYkr5ETMODSXA62ChmvRvusb4gZ72zX0d7Dwpk0WIZBI1U8mJ g==; X-CSE-ConnectionGUID: ZjbWNHL6R7Cm+/UddiWKIQ== X-CSE-MsgGUID: +V0TAZ7vRuCFZrLEAljKPw== X-IronPort-AV: E=McAfee;i="6700,10204,11211"; a="49368417" X-IronPort-AV: E=Sophos;i="6.11,166,1725346800"; d="scan'208";a="49368417" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Sep 2024 15:12:24 -0700 X-CSE-ConnectionGUID: hJw5AqQZTyiDIxFOb3lmSA== X-CSE-MsgGUID: 6Tdm742SSzSKOCczqo9KXg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,166,1725346800"; d="scan'208";a="77985579" Received: from jf5300-b11a338t.jf.intel.com ([10.242.51.6]) by fmviesa004.fm.intel.com with ESMTP; 30 Sep 2024 15:12:23 -0700 From: Kanchana P Sridhar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, hannes@cmpxchg.org, yosryahmed@google.com, nphamcs@gmail.com, chengming.zhou@linux.dev, usamaarif642@gmail.com, shakeel.butt@linux.dev, ryan.roberts@arm.com, ying.huang@intel.com, 21cnbao@gmail.com, akpm@linux-foundation.org, willy@infradead.org Cc: nanhai.zou@intel.com, wajdi.k.feghali@intel.com, vinodh.gopal@intel.com, kanchana.p.sridhar@intel.com Subject: [PATCH v9 3/7] mm: zswap: Rename zswap_pool_get() to zswap_pool_tryget(). Date: Mon, 30 Sep 2024 15:12:17 -0700 Message-Id: <20240930221221.6981-4-kanchana.p.sridhar@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20240930221221.6981-1-kanchana.p.sridhar@intel.com> References: <20240930221221.6981-1-kanchana.p.sridhar@intel.com> MIME-Version: 1.0 X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 4C86E18000F X-Stat-Signature: gahdefy8ax3q6qjf93kq8zqwm9kn18m9 X-Rspam-User: X-HE-Tag: 1727734347-250664 X-HE-Meta: U2FsdGVkX1+LxB3d+ppdWFeONhhwvAQX+QDGQFGSxTT5UPeTQMGyVJg9otzPdv19IULtPKq9JjPkY1eRfZrLGsHFI+JE1GcWMorhdq3c4ks+Pr0M43VvZW+NHaKANFMXst75WZRKV5l7DoFe+4kSmcfam0jaNLHy/ASUrIbgud06d3xGI2sGR0EvYGSYWDc3uQuH8/PJFuhCR27BQtiBssO8h/SZF/5dsfs6TN9Fto/+EZr1ZUKEhVM41/QbBmYpfs5q5ooz++hnwiNvGL6HfbQKhTkYhqrar7NhiEfnG/RjcOt8CpiEhyt95ubsO67ZjQjqJPZo4qkfzZQ4ZRMRqhGVF4vvjQCyvjjOypQTpPbA2+FSc1vMwA73AGRuKGR/fYAZdAHwU7Mq60bLkitqSH/LV7Ao1q/BAmDmzAmVE/DgFErwXhRK8BU6Vvs8PJYG1Ttbz5fXUMoT3PJ3GcXQpPIhfV2k+LlLQ7zpKR9h5x2YokOx3Sifc3PdiAew/QWnvLvLKLATwcNSb95sNiNDQ9MHIN3idDnQHkmbJa89VxekaoPvQwFo4buSV6QVoibGpn0zBE7obOkziIr/rOVnStodLYEyGTyAOXyY0QYsECPv0LYNkElN95xfaYvpkBIkE1WcoBw/dEoih5FrJ1/alvNGBahs+MZ/cgnost+fMu5ySqzwG3BMhmTfCyW2C/8d/8RMcndR21xYS7ZbsB7EVarjT9W9RjYYXUMA/jJ3ckQTl/JurDvZEJQP1+cReFBEk1TSlJW5+3dZ6LMwHVaR1VfAcSWpTtW3LFFnlJWF03CX32fyV4jVWFk8MvML145nTu32PKeV6V4H4JhGWf8nyz04SRJmch8Mn7q7TGYzTfe6rO+fpd0ifhZ7W1GtLiKwwAoqtGyAwHoA6z5+uCA1RRDOKUozlXbxn89bNS0rIWKF83kpqVG3ivAspA35/FKtBWbzwOLU/ndWkzD7OGq Pn5ffjFp 7oe8t7GeZ6DYAYGqdGotMBtu9vmah8qTngoJT8tbkobVNcGHqy7agRfV7bOcJSGtg3I985xzuEKGlgHWIpGF/g57uv4pKprb/LgdBUhgO7Xeeo1ZCr6Wb1/ielEUfsVIFnDU02+SusCStiQCRwNS8bOYo0S4zLo1TN2UalSZo19zQaRJxN816A1JBZMS5ZTe1W1vXSVFlfPCOmAOgWwFtHX+Stlb78p2XE3fAgfdmJQWx4bvnu9MHxLw3Oxh0Nq3OE4BCMmu3LMi2Qlupch3NKgwSTbnQLe0DWKPVc2XfZqjGnN+GVqzou/Bmr7mH8ByRXxLbBhuIZGlJOdc= 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: Modify the name of the existing zswap_pool_get() to zswap_pool_tryget() to be representative of the call it makes to percpu_ref_tryget(). A subsequent patch will introduce a new zswap_pool_get() that calls percpu_ref_get(). The intent behind this change is for higher level zswap API such as zswap_store() to call zswap_pool_tryget() to check upfront if the pool's refcount is "0" (which means it could be getting destroyed) and to handle this as an error condition. zswap_store() would proceed only if zswap_pool_tryget() returns success, and any additional pool refcounts that need to be obtained for compressing sub-pages in a large folio could simply call zswap_pool_get(). Signed-off-by: Kanchana P Sridhar Acked-by: Yosry Ahmed Reviewed-by: Chengming Zhou Acked-by: Johannes Weiner Reviewed-by: Nhat Pham --- mm/zswap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/zswap.c b/mm/zswap.c index fd7a8c14457a..0f281e50a034 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -403,7 +403,7 @@ static void __zswap_pool_empty(struct percpu_ref *ref) spin_unlock_bh(&zswap_pools_lock); } -static int __must_check zswap_pool_get(struct zswap_pool *pool) +static int __must_check zswap_pool_tryget(struct zswap_pool *pool) { if (!pool) return 0; @@ -441,7 +441,7 @@ static struct zswap_pool *zswap_pool_current_get(void) rcu_read_lock(); pool = __zswap_pool_current(); - if (!zswap_pool_get(pool)) + if (!zswap_pool_tryget(pool)) pool = NULL; rcu_read_unlock(); @@ -462,7 +462,7 @@ static struct zswap_pool *zswap_pool_find_get(char *type, char *compressor) if (strcmp(zpool_get_type(pool->zpool), type)) continue; /* if we can't get it, it's about to be destroyed */ - if (!zswap_pool_get(pool)) + if (!zswap_pool_tryget(pool)) continue; return pool; }