From: Kefeng Wang <wangkefeng.wang@huawei.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: <linux-mm@kvack.org>, Chengming Zhou <chengming.zhou@linux.dev>,
Johannes Weiner <hannes@cmpxchg.org>,
Kairui Song <kasong@tencent.com>, Nhat Pham <nphamcs@gmail.com>,
Yosry Ahmed <yosryahmed@google.com>,
Kefeng Wang <wangkefeng.wang@huawei.com>
Subject: [PATCH v2 3/4] mm: zswap: avoid unnecessary xarray lookup in zswap_store()
Date: Thu, 10 Sep 2026 17:54:48 +0800 [thread overview]
Message-ID: <20260910095449.715183-4-wangkefeng.wang@huawei.com> (raw)
In-Reply-To: <20260910095449.715183-1-wangkefeng.wang@huawei.com>
zswap_store() falls through to check_old and walks the swap xarray
even when zswap is disabled. Add a zswap_never_enabled() early return
matching zswap_load() to avoid unnecessary xarray lookup.
Reviewed-by: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
mm/zswap.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mm/zswap.c b/mm/zswap.c
index 2c06e4e0e130..6197aa71e33c 100644
--- a/mm/zswap.c
+++ b/mm/zswap.c
@@ -1492,6 +1492,9 @@ bool zswap_store(struct folio *folio)
VM_WARN_ON_ONCE(!folio_test_locked(folio));
VM_WARN_ON_ONCE(!folio_test_swapcache(folio));
+ if (zswap_never_enabled())
+ return false;
+
if (!zswap_enabled)
goto check_old;
--
2.55.0
next prev parent reply other threads:[~2026-09-10 9:55 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-10 9:54 [PATCH v2 0/4] mm: zswap: misc optimizations Kefeng Wang
2026-09-10 9:54 ` [PATCH v2 1/4] mm: zswap: pass type and offset to zswap_invalidate() directly Kefeng Wang
2026-09-10 10:26 ` Yosry Ahmed
2026-09-10 17:57 ` Nhat Pham
2026-09-10 19:27 ` Johannes Weiner
2026-09-10 9:54 ` [PATCH v2 2/4] mm: zswap: reuse zswap_invalidate() in zswap_store() check_old path Kefeng Wang
2026-09-10 10:27 ` Yosry Ahmed
2026-09-10 19:27 ` Johannes Weiner
2026-09-10 9:54 ` Kefeng Wang [this message]
2026-09-10 10:28 ` [PATCH v2 3/4] mm: zswap: avoid unnecessary xarray lookup in zswap_store() Yosry Ahmed
2026-09-10 9:54 ` [PATCH v2 4/4] mm: zswap: skip zswap_invalidate() in swap_range_free() when zswap is unused Kefeng Wang
2026-09-10 10:29 ` Yosry Ahmed
2026-09-10 11:10 ` Kefeng Wang
2026-09-10 11:12 ` Yosry Ahmed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260910095449.715183-4-wangkefeng.wang@huawei.com \
--to=wangkefeng.wang@huawei.com \
--cc=akpm@linux-foundation.org \
--cc=chengming.zhou@linux.dev \
--cc=hannes@cmpxchg.org \
--cc=kasong@tencent.com \
--cc=linux-mm@kvack.org \
--cc=nphamcs@gmail.com \
--cc=yosryahmed@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.