From nobody Wed Feb 11 08:12:15 2026 Received: from mail-oo1-f42.google.com (mail-oo1-f42.google.com [209.85.161.42]) (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 1219034321C for ; Sun, 8 Feb 2026 21:59:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770587955; cv=none; b=cW9J8TXdx7jM8/z4CmaXZK3hE8oA2L8Wf6A9HG54k7GePcWouIwhOjHeqdkRv2cIwRSNGCRWCISI/HNORECL2quB+VBKtAf0fO+suRHWF9Aj5LrtlqXPpk2ULFstAe7UiiwVZW4pShaUKeHZ6Pb4gh5jZ03yKwstUoXnUlpkglY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770587955; c=relaxed/simple; bh=XBmrk0o39FAOIaDvlicMy3Eh3cFwDg1bVSNwmZISXsU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QDlHrOUug9yemeUESjCB61VO/S8xd32k+WUUPfwySot3QsFfAOPx/1/MnXTG9BlkToD9cgFKMRX7nnH+BtiPBWWV/ZvCvXG/hvH2BMvS0h6VMKnp1txZLN19cvBLsotnhv03SujOzukEQKksTtrQsOq2pAcWLNaG+ScVYhMb9ug= 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=FfpipKKC; arc=none smtp.client-ip=209.85.161.42 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="FfpipKKC" Received: by mail-oo1-f42.google.com with SMTP id 006d021491bc7-662f5c5507cso2560559eaf.3 for ; Sun, 08 Feb 2026 13:59:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770587954; x=1771192754; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7QY06q/ir2j1hW+S2SjYAeivUq/qdnGKxDWe/px5J+A=; b=FfpipKKCVpCqx7HM3BYiH/RMENXLSiIR/koRgxvzc0aEp5P9xmN9glHJwl8q2XaKHZ dcckmxhxAPICg0IQe3X0r4r8iUR4Xuz/gGZ33/nZ7uTyUCFjtF1TO+0JlCTXC6YxGM1/ WVqJtenzA4TS0JTlwjdQD+dj48Gerb4OgoMt1Dx6J4arQkRjDZGjwUSPbdHPwYjzXftz Z76+33cpHzq2aWrLh2jFkYDNSA+ocGivVuBHJZc0tdR7ob3swV1fECOPqZ8fFdTUShpZ QuZz+vjdwRZGV2kzem/qq0xI+RfM6dQtbWW2XIp43UGUwWpjiLyTVJlQEMQbrvSknzLT q13Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770587954; x=1771192754; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=7QY06q/ir2j1hW+S2SjYAeivUq/qdnGKxDWe/px5J+A=; b=sbuucBbgy8zHhE+JtNd7wWNXdlqED7UXcce4X/Vjbtt3TybRZJJIqO42cVHe0Kqrn+ j8Q3irf5guyIL9yylekYT/9nwcFP/Y3K9Ue5GkvfKE2RSKznSbOKbiIZKzd8hn6QBQd2 xB4MpR9xOTs2qVU5RAfykNSEvUqmM9SENH+f/EcP3W6zYCjtncF2rgrI7uFGp8K52Byw 6rPOb9bT7Nq7NuhG9HXBQV/shNcXXg1gqZH1JiDIlLm4vbpq+hH3UjgkikYxSc33cvLH waOo9h4XPE2a0U2H8XfVP+Du9kFFVxnRNonyVMLJZDGTToIMoksVNA+S1vUTdy8NWVQZ i+AA== X-Forwarded-Encrypted: i=1; AJvYcCXi6V/w+n4ilJ2U5IPge/easaDlKED2bRRYAYVkpxdS/V1gv0y4V1ogdT94aliILjNGjsSfCWfMhCBasuk=@vger.kernel.org X-Gm-Message-State: AOJu0Yys4Zu911XvckWpASHRyXmwFI17foj86jT1LWENkg7jsODqYHLF n5VWT6hr97Uf2oVIA011ywmlPxnSOwFCu8z8xnQfcKok3htIqQfdWoM4 X-Gm-Gg: AZuq6aLcnP65hEyoiIgiKcbRz457knE/69JCgBz+inpBBjc5lfxyv/2SLY5djB8GcAS sX+APa9m/a96irQsB5hZdwnJkYjlvdbdq0r0bByHQIwj1U6GBomlXXEbyzbge76uwx1wGAOoUnx gg9TtSg/fKxWaaysgXu6KBv5CfA142iBRKE1ABcW5t+x2Fpd8AXx4g240+/sYMyzb7sszgZAYS5 rzaoWriGBaTIJRw6x3my2g38zQCftZSwcVVDm3C8hVDBDIplUJUpkp7d0YDnumDxVtH/w6B/vas qm7VviAQLOKNRwGfO/hA6Ukvk+EA56jk9YYJBqdHXHIHmm6nOYbwLWUqVe/AnI+WQBvdT/hxwMe 7Okv6amOJz1tZLFH5Qm9/gbCKPDm0tWJOASRxin+V2KzsiFm7OSm+S5RNs8+XZKIVpiFeti6c2b rWdQugGS3l2K+sIb1egLWIFwHNiBnq3Eo73tCnR0EYyRo= X-Received: by 2002:a05:6820:16a6:b0:659:9a49:8f50 with SMTP id 006d021491bc7-66d32bfa23emr4293572eaf.21.1770587954007; Sun, 08 Feb 2026 13:59:14 -0800 (PST) Received: from localhost ([2a03:2880:10ff:8::]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-66d391ae639sm4737086eaf.7.2026.02.08.13.59.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Feb 2026 13:59:12 -0800 (PST) From: Nhat Pham To: linux-mm@kvack.org Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, hughd@google.com, yosry.ahmed@linux.dev, mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, len.brown@intel.com, chengming.zhou@linux.dev, kasong@tencent.com, chrisl@kernel.org, huang.ying.caritas@gmail.com, ryan.roberts@arm.com, shikemeng@huaweicloud.com, viro@zeniv.linux.org.uk, baohua@kernel.org, bhe@redhat.com, osalvador@suse.de, lorenzo.stoakes@oracle.com, christophe.leroy@csgroup.eu, pavel@kernel.org, kernel-team@meta.com, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-pm@vger.kernel.org, peterx@redhat.com, riel@surriel.com, joshua.hahnjy@gmail.com, npache@redhat.com, gourry@gourry.net, axelrasmussen@google.com, yuanchu@google.com, weixugc@google.com, rafael@kernel.org, jannh@google.com, pfalcato@suse.de, zhengqi.arch@bytedance.com Subject: [PATCH v3 15/20] zswap: do not start zswap shrinker if there is no physical swap slots Date: Sun, 8 Feb 2026 13:58:28 -0800 Message-ID: <20260208215839.87595-16-nphamcs@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260208215839.87595-1-nphamcs@gmail.com> References: <20260208215839.87595-1-nphamcs@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" When swap is virtualized, we no longer pre-allocate a slot on swapfile for each zswap entry. Do not start the zswap shrinker if there is no physical swap slots available. Signed-off-by: Nhat Pham --- mm/zswap.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/mm/zswap.c b/mm/zswap.c index c5e1d252cb463..9d1822753d321 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -1211,6 +1211,14 @@ static unsigned long zswap_shrinker_count(struct shr= inker *shrinker, if (!zswap_shrinker_enabled || !mem_cgroup_zswap_writeback_enabled(memcg)) return 0; =20 + /* + * When swap is virtualized, we do not have any swap slots on swapfile + * preallocated for zswap objects. If there is no slot available, we + * cannot writeback and should just bail out here. + */ + if (!get_nr_swap_pages()) + return 0; + /* * The shrinker resumes swap writeback, which will enter block * and may enter fs. XXX: Harmonize with vmscan.c __GFP_FS --=20 2.47.3