From nobody Mon Feb 9 07:42:55 2026 Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 202DA2BD0B for ; Sun, 1 Feb 2026 17:47:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.196 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769968069; cv=none; b=k4biURtwX8pwTTku1JKtUXhcx/dWRQ7f9hLviFI2UY8O5JHwJ3kAUZJ9YU+LrrDOA8O6rFCyRNyEZ0Oj/FT1siinJzdc65JZrV3h1/4ZhpZLkka6Ig+e30F5/3l7WH5tPGV+l7rUBv4uL0L4gxluf/iPy8b7XXkhplVsjxYV85k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769968069; c=relaxed/simple; bh=lhDxf6ztPxgY+h2cz5MPgI4azU48jbX6PjT7j0CFKco=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=uSfNQU+p9oFFCsQ/G4xq/4bjInD8+kdI7ep7ByeN8hhqKdNLiMbpsL3PKQ/fdln3D3tkxMWZyYxL4wkSrUbY5wbWlOblEFGWW9X+C37Bi7RhWjxbCpYhhFHjXplpIzmQXNouwxadXi2v9AoZL1cGKvX7baXdZl/s+of4+z+17ps= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=LbefdiqP; arc=none smtp.client-ip=209.85.210.196 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LbefdiqP" Received: by mail-pf1-f196.google.com with SMTP id d2e1a72fcca58-81f47610542so1988549b3a.0 for ; Sun, 01 Feb 2026 09:47:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769968067; x=1770572867; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=Qs+0PjG7we/2y/IeweOE2VC49SWcJ6UpvgcbMN4J8Kg=; b=LbefdiqPanifwU4PV3l/Bz4VK0S3YBxDun+hJRV6LAyaet//jPHwkJeAUrlyLGvq6X wYNxs53GK0TTYm5mK71sFEO4i1iUEZ/ULU1SeAoNCPk+hjr5N7egQ8h6Stn8J5WtQ6ao xOQwL5tOTY59gc+46BoVO6LgmpCyivtQ54uGouiy/OniYjRD2b8lAmv2ukGrGTkjKTr4 3V4Xj0svYFwyO4Z+Quc5meFoPMEMODn56VTsfiHSHSgOqorlqNkT0/itIIOkGZETFDRf BNKqi5Am+K0PAPgGfVDZiJYpDLZ5slH8M3eu6k4YeTYmgZxMrhYDSj6UmVXQCV8YhUsb 4NPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769968067; x=1770572867; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Qs+0PjG7we/2y/IeweOE2VC49SWcJ6UpvgcbMN4J8Kg=; b=cC78dG5muFLNsvucJ4nVJNc5nPrGGITtlmMlbaGssVJACRAJ5Rnw+lm2QklFKOISGN yxD20GU9RlZXGYgLxMEzO6RRdBh+b7ede0fz4EfsZT1Vc/YXXSEHbN3qbMnNAyQz+frA GBP0es7YBZUj+F6rGxboh3AzDbKf8Q/JXAN0q0kxxnKNBSejKNfL2XxO0lXwMYdxXeHV /fMsunEBaaPF3O3tXdb/0rsUgqnRQJ7tPm+9gJ5kq8PnZ10rZu/PljYx9IWXGxzyRACd g9hDUrirMth6fWorpbEWpHNxVsbecek/0/Qautv8mkzpS8/7sp6jcoOscLHzb7S7JWF4 EK+A== X-Forwarded-Encrypted: i=1; AJvYcCV7tCSXvZ5ibh0i9J2auZp/K9MQMxj6yhCVXu84Ep9CCXykJzhfa8iZg1eyNnGbA6+FMt0BHySvTS28vZM=@vger.kernel.org X-Gm-Message-State: AOJu0YykDTau8fmb+u8OSq2NGkj0E3Yn+Qw4sxCxhih3DRj/4O3bwxSt KKkFt8gr/75l5Ymau2YTydQCxySrITraTisk2l2eDxJemhHWc6O/T7E/ X-Gm-Gg: AZuq6aKWcAZ7+HFJ0Z9LFBZKLwE0QU4oinqP/JFL+lxj2AlO9RPGAl3NmSC1afQ7MHB ZvuLbpaOfdPYcM2Az2V7JvmxviuNfPLOcMwWVOiTi0lSn2QcjBCkVGi5vZW4JD2kNFJAS4N/S4C JUl2OJv7MFeLLFX9NlGycRbbdgFlj4bUUe85e/lR79TgltSjIq0+KeGMK1mVUJ3qBQWAe6QnLmE pEdcGCiwFaEtwUNXfZOz036uA/9EOlXVxJFo0LPa3WGVi9R/7fyzKG4c8n7j+v1nwebwnyNdbBT ZzF/ux/BC1TBadXdwtEU4ty42d53pEOxX4aAt2KsnkTGIZkNJw69Pn/qWJLOwnI5cOi8XrYeZQr xL88y93urWc2/vHyLKjcvpM51unfQFCQX2EnBU9odxOE7Sp0JRlBvNHR5rFiAMU86dhH4cC6b8a IG4KfBoH8sWLZCLeSBN5NWTz5Kjt/vmoM3+QloRo2I5h5jCrnS X-Received: by 2002:a05:6a00:1ca1:b0:823:167a:4790 with SMTP id d2e1a72fcca58-823ab6bb713mr7915396b3a.26.1769968067356; Sun, 01 Feb 2026 09:47:47 -0800 (PST) Received: from [127.0.0.1] ([101.32.222.185]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82379bfd8desm13596758b3a.33.2026.02.01.09.47.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Feb 2026 09:47:46 -0800 (PST) From: Kairui Song Date: Mon, 02 Feb 2026 01:47:32 +0800 Subject: [PATCH] mm/zswap: remove SWP_SYNCHRONOUS_IO swapcache bypass workaround Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260202-zswap-syncio-cleanup-v1-1-86bb24a64521@tencent.com> X-B4-Tracking: v=1; b=H4sIAAAAAAAC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE vPSU3UzU4B8JSMDI1NDIyMz3ari8sQC3eLKvOTMfN3knNTEvNIC3UQD0yTztGQzQwuDNCWg1oK i1LTMCrCx0bG1tQBq9LFhZgAAAA== X-Change-ID: 20251226-zswap-syncio-cleanup-a05b7fc6180f To: linux-mm@kvack.org Cc: Johannes Weiner , Yosry Ahmed , Nhat Pham , Chengming Zhou , Andrew Morton , Baoquan He , Barry Song , Chris Li , linux-kernel@vger.kernel.org, Kairui Song X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1769968064; l=2359; i=kasong@tencent.com; s=kasong-sign-tencent; h=from:subject:message-id; bh=ErqyaqA8QnNQl+WnQiuzCLJFhc1Lwvr1urzWqbT1kt0=; b=QKR3/i4gsNjHNsEGMaO5PSlKr36As5/kOAviyuIt1z9Rc7llhDlVcFS52ClbzxG3P7ei6NF9g Uqd6l8vHd1zCKuadFoGKYcX9Pgxn+sndThGpjseiGXTInEAOQnBp0Fq X-Developer-Key: i=kasong@tencent.com; a=ed25519; pk=kCdoBuwrYph+KrkJnrr7Sm1pwwhGDdZKcKrqiK8Y1mI= From: Kairui Song Since commit f1879e8a0c60 ("mm, swap: never bypass the swap cache even for SWP_SYNCHRONOUS_IO"), all swap-in operations go through the swap cache, including those from SWP_SYNCHRONOUS_IO devices like zram. Which means the workaround for swap cache bypassing introduced by commit 25cd241408a2 ("mm: zswap: fix data loss on SWP_SYNCHRONOUS_IO devices") is no longer needed. Remove it, but keep the comments that are still helpful. Suggested-by: Yosry Ahmed Signed-off-by: Kairui Song Acked-by: Chris Li Acked-by: Nhat Pham Acked-by: Yosry Ahmed Reviewed-by: Barry Song Reviewed-by: Chengming Zhou --- mm/zswap.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/mm/zswap.c b/mm/zswap.c index 3d2d59ac3f9c..8cd61603ff79 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -1589,11 +1589,11 @@ int zswap_load(struct folio *folio) { swp_entry_t swp =3D folio->swap; pgoff_t offset =3D swp_offset(swp); - bool swapcache =3D folio_test_swapcache(folio); struct xarray *tree =3D swap_zswap_tree(swp); struct zswap_entry *entry; =20 VM_WARN_ON_ONCE(!folio_test_locked(folio)); + VM_WARN_ON_ONCE(!folio_test_swapcache(folio)); =20 if (zswap_never_enabled()) return -ENOENT; @@ -1624,22 +1624,15 @@ int zswap_load(struct folio *folio) count_objcg_events(entry->objcg, ZSWPIN, 1); =20 /* - * When reading into the swapcache, invalidate our entry. The - * swapcache can be the authoritative owner of the page and + * We are reading into the swapcache, invalidate zswap entry. + * The swapcache is the authoritative owner of the page and * its mappings, and the pressure that results from having two * in-memory copies outweighs any benefits of caching the * compression work. - * - * (Most swapins go through the swapcache. The notable - * exception is the singleton fault on SWP_SYNCHRONOUS_IO - * files, which reads into a private page and may free it if - * the fault fails. We remain the primary owner of the entry.) */ - if (swapcache) { - folio_mark_dirty(folio); - xa_erase(tree, offset); - zswap_entry_free(entry); - } + folio_mark_dirty(folio); + xa_erase(tree, offset); + zswap_entry_free(entry); =20 folio_unlock(folio); return 0; --- base-commit: 2c263046cbe6d9d5fce3dfeba063f199f7e6298f change-id: 20251226-zswap-syncio-cleanup-a05b7fc6180f Best regards, --=20 Kairui Song