From patchwork Thu Dec 28 09:45:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chengming Zhou X-Patchwork-Id: 13505766 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 30605C3DA6E for ; Thu, 28 Dec 2023 09:46:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BF4056B00B7; Thu, 28 Dec 2023 04:46:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BA4056B00B8; Thu, 28 Dec 2023 04:46:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ABE736B00B9; Thu, 28 Dec 2023 04:46:31 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 9CC1D6B00B7 for ; Thu, 28 Dec 2023 04:46:31 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 6D6E940719 for ; Thu, 28 Dec 2023 09:46:31 +0000 (UTC) X-FDA: 81615746982.30.2A3A230 Received: from out-170.mta0.migadu.com (out-170.mta0.migadu.com [91.218.175.170]) by imf08.hostedemail.com (Postfix) with ESMTP id 859E8160011 for ; Thu, 28 Dec 2023 09:46:29 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=bytedance.com (policy=quarantine); spf=pass (imf08.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.170 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703756789; 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; bh=w25swSa3ioqiVHC69Omi02hh7LN7MiRLnWUcqit8XqE=; b=uVJbLRnycFxCIkU2kC1c0aMYWOEYH7R+mFtcKlfJ0KRiLAgB0WgMD6yCIvvsJHPZxJYUEI t/qTbOX6p9x1tdUW0CKu4UPQYGLEelAk1CRiwZ64nt++ZOXBhLTVxEwWWHwQsOQg2Xf9SQ UDuBLxk//7b9kPdussX0tcTgWVbHjcI= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=bytedance.com (policy=quarantine); spf=pass (imf08.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.170 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703756789; a=rsa-sha256; cv=none; b=1yEHET9PlfK2bBmd7hsUhZxTCgZYV/ansTF8dY/WsVmu0SwccfqmYk3ynXiAIpb9IOKUrH e/cZevdav8+KUoif881FkN34HsbvgGyazm55TczIDlUVxeLA6qmDi2mip1z/Xr8LR+FeN4 ImxLKomOt+9wzBr95FRhSuwl3iSXcCE= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Chengming Zhou Date: Thu, 28 Dec 2023 09:45:44 +0000 Subject: [PATCH v5 3/5] mm/zswap: cleanup zswap_load() MIME-Version: 1.0 Message-Id: <20231213-zswap-dstmem-v5-3-9382162bbf05@bytedance.com> References: <20231213-zswap-dstmem-v5-0-9382162bbf05@bytedance.com> In-Reply-To: <20231213-zswap-dstmem-v5-0-9382162bbf05@bytedance.com> To: Barry Song <21cnbao@gmail.com>, Yosry Ahmed , Nhat Pham , Andrew Morton , Dan Streetman , Vitaly Wool , Johannes Weiner , Chris Li , Seth Jennings Cc: Yosry Ahmed , Nhat Pham , Chris Li , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Chengming Zhou X-Developer-Signature: v=1; a=ed25519-sha256; t=1703756775; l=1602; i=zhouchengming@bytedance.com; s=20231204; h=from:subject:message-id; bh=rJOYhYvLkD8XDGMZAga2jLzLZQr3NVhVcf7hB//cwrw=; b=obzgcjVPz/TBWcJwAld57WtoQimnl/ZjBFTNyWHoE9HJCR+kwFjlb7IU5MGOgMtiFZtkwTCk3 qPI+KW2XdgCDV21WlpxiCTcYbyZmw3o8+Ampqb53lIJjyKaDdsVv8Mc X-Developer-Key: i=zhouchengming@bytedance.com; a=ed25519; pk=xFTmRtMG3vELGJBUiml7OYNdM393WOMv0iWWeQEVVdA= X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Pre-Result: action=add header; module=dmarc; Action set by DMARC X-Stat-Signature: 56qyscufhwd9i184bqc4ai5chm4zaawf X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 859E8160011 X-Rspam: Yes X-HE-Tag: 1703756789-402604 X-HE-Meta: U2FsdGVkX1+4Da3HA4smiEoUa2AFI02MvsB3VKEiSsXAjb+Cy4CwjwGrqjeE8BSpmBRdvBb/FpIOw63MSW/C7+vYLk6apLCZW9ckLTVyJUMSvOV/2W6uz5wtP8Phx6s9all5/0Ve5gZYZfD1akxdAV5zanURLblpzBHiU343+ZHis1V7gzHIJrPtZGdicD0NVqzSzOamS9UJtHwfgWewua7U4wwkjwisv9e0BTx2Z8c+wJehQJltJtB0RnwehbA/z7o5SiiLR11N62yJJ7ecGsChamswzOvS2096l445g/XARtBqzAhSg6kR26eGNqfkhifUNa49SpKVb7+9h2QD1hFsvBCev5VPdJvG3Y9XQ6A5kGcigqV/11ePnaYxR3pnq0q9b5oHevoF6ktiraYDmX4rgyq4ianupIQwWIYTWzdLklPgvyEQd6e2Xb+tEESX1SwF+spE+PZ2EqG2S9kDu88LH+8NctxaCVwny/HkW0hn2qmue+z8HGud7NNwIuKR4yCdULan0G8JKz3yGlcJ36uqckkxU+r3U+RcGOxppZliuASJWPJNRhaIhWm3YY2oZUOQdFSEfvfG4Q2/VeRyxuJVq/4KPFQARoeAS+Q6JsMrk/235ixAT2BgDVgvVfA0OoBXTTzjV6KLyUq6mqC42G/qhUZ89aqjculrlUIRy5OOVtssRks+XbK1auGD37ye8fclVKHKvQ+uE5PJ24V2qoTC86YxsuZUlNXBDr5g9E2kHS44xJN3eSBy/XtUebccjSRVTiq6LFlAU7NoRRBLlHmhehyZBZzL+gTOEdGGIFITl5Yn90gs5ZXb9yFF9oY5zl5FsZt6l4cVahzuTtO+eqJ/+Pjl8nCOAaVe8hweANgyy8LrPPNIYA+Ol/RRycqYD/1kUohd+jy2v6cLgZO9Tu4qAigdwfbZRyn+vsMJ2zq+g//Y06nSZKSBIRRS+0014+b/sxcr7mePajoa6Oh dZ++1Z/e h6sA+rP0oxbFAmDOYINRr/XDQ+eppDpA0LkOogLzd+c8gSB9VtwP7SKOAUv8Oe91KLoKjJoUYqR8l059hWUyZCh/gCBxr9/frRASE/UZFk1bfb47VU7IrRO6OxFYF+fFHh/NAxFUDr+5cN/mn1hIoDag4g9v4TE206cnhsnwD6SwtllaTm7OjTJ/T69f6Fv/LaTWKofk9yrVcHadxAGn3zbUWc+nsJ1MU9qMc89vO/5CFaB0mO1E9D4A2VXag9PYC3ASkVXIn5swQzkGy+pB99MVRANbemxBsZrWZuizpzTeIQccLBTXZIUCFfIolCW+4XlO3rljZGRhQb4D/HUviGrVOBYPptQawoUun1ZTS0th+8b48ceGLFMshSXRplZYuASYIBPHbWtlvu/Zi1kvw1q9DUwcKhdFj9zy8cVB85ggWgTMJrlcSt1Bn26YLqKl30PNRf97OYaUweoA= 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: After the common decompress part goes to __zswap_load(), we can cleanup the zswap_load() a little. Reviewed-by: Yosry Ahmed Acked-by: Chis Li (Google) Signed-off-by: Chengming Zhou --- mm/zswap.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/mm/zswap.c b/mm/zswap.c index b25d7d03851d..618989463535 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -1760,7 +1760,6 @@ bool zswap_load(struct folio *folio) struct zswap_tree *tree = zswap_trees[type]; struct zswap_entry *entry; u8 *dst; - bool ret; VM_WARN_ON_ONCE(!folio_test_locked(folio)); @@ -1773,23 +1772,20 @@ bool zswap_load(struct folio *folio) } spin_unlock(&tree->lock); - if (!entry->length) { + if (entry->length) + __zswap_load(entry, page); + else { dst = kmap_local_page(page); zswap_fill_page(dst, entry->value); kunmap_local(dst); - ret = true; - goto stats; } - __zswap_load(entry, page); - ret = true; -stats: count_vm_event(ZSWPIN); if (entry->objcg) count_objcg_event(entry->objcg, ZSWPIN); spin_lock(&tree->lock); - if (ret && zswap_exclusive_loads_enabled) { + if (zswap_exclusive_loads_enabled) { zswap_invalidate_entry(tree, entry); folio_mark_dirty(folio); } else if (entry->length) { @@ -1799,7 +1795,7 @@ bool zswap_load(struct folio *folio) zswap_entry_put(tree, entry); spin_unlock(&tree->lock); - return ret; + return true; } void zswap_invalidate(int type, pgoff_t offset)