From nobody Mon Apr 6 17:25:46 2026 Received: from mail-oo1-f54.google.com (mail-oo1-f54.google.com [209.85.161.54]) (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 6B062379EEA for ; Wed, 18 Mar 2026 22:30:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773873023; cv=none; b=pzMx4dOxbxEDGruYHyV2SGUvSVPRhY5spD+ppY/WxQpSQ6+4GD0NV7TbsWqrOjemAyCkKwovUQJnq/I7rTxdE+Un+bNEMn5SarnbNLdv87ZUEiBMgUuMCwauyRHJ+ETCUkZ95+FZ+rwe0i+32wYdJEjvpgK8wu8hReFlyL0SUsc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773873023; c=relaxed/simple; bh=XUG2nMpJeoG6B9ljhBEIzGZmx65mAIf5essHdmFCXwM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=C1rMx4FMIPKmYkNhldBmLWvyujGeUasuZrfzsw5as9VWbxyaj0LeQD7N6ZWAgZul2IaApcViVFknIQTKiNBz8rE+njiITRh8N4g7h52TTNB4c66jjKTrHpIOLF1mVNt61IEZzYodrMqqBd14fej8lYhj2/rL7AWVWoJXhInu8DQ= 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=N1FK5mud; arc=none smtp.client-ip=209.85.161.54 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="N1FK5mud" Received: by mail-oo1-f54.google.com with SMTP id 006d021491bc7-67bb5e4cf5aso13504eaf.2 for ; Wed, 18 Mar 2026 15:30:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773873019; x=1774477819; 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=XNNnmWHnRUZm7wwtDTGZLy0ujBXuugSXcNtRiTK4tAk=; b=N1FK5mudQcE3fXighw0xP7NsaVdH4YqhKiHyb7kJO8zob8omU4FgxwVL6E6VFzwLyW HdIf4S66cUz1KHWEKh3R2k4mB5fP4wh/RRmQaundb2vgUHxzASh6kZvW+RfZP0UaEyZf a4pG1ndpONim1Cvzfv0zY4qf7DLodxDAliP42orDJRgBk77mOhga4Q70rV05epfM7O3g yh+brGbHN8nV3/gVsPQfKgslFToDdmvm1+f6PwrpYyoefADU35i6hPAEqr/kPWGQBlW8 aBdRaj3ZBIAcyVDrmhJURbc3ZJEXC0jRwQ9DYfFXgaDx1SWNTnxBdrV1Jb3Y+zdyvtgo EqrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773873019; x=1774477819; 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=XNNnmWHnRUZm7wwtDTGZLy0ujBXuugSXcNtRiTK4tAk=; b=nzRTnrxIujOZMB+NS/7j9PmxMBP7uCy5HNBA73XPbknP4IPA1BPH7FAYyrxQYC3BZ5 t2/6rhob03YP3FGEqQ6a4yRn+jMp91OhrRkyG4h1YDlG5XOWE1chMk9g4MzaavbutfEz TqGQvdO6ayVkjnhONl511ExCsyjFiCdN7qxe/QChfHaDOvPOOsiKPn5SUDp4lKLfriO0 6lJduUEGgY3gYrYXDv80YZPUuIjTVFoS+yYfPAGtOglkrlutnBrry1rs3CmdbhV08bPH n7IlvxO/2ljRz2b01QP4eSwXRcd8MLJSzdJyzCB4NcPtpXNqfUH1Oe4p3XM+rJUNag4a h6Dg== X-Forwarded-Encrypted: i=1; AJvYcCUUZUUXOyBOT9hdADOf3DKKsLkTqcgrvnXcd6Xfwwg61tibKiNNjI2NHFlRiotidWfBLOptOULEabdPhio=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7Y4Q2zOnv8GCoEYnwJdb7xFK8rNJyJAIUzPTVLr679glUVMF9 vvWH7lx3Nm9C05+NQFSKL9nJrZc7/LQEcvV3JSsNrzfdYtB3eHUZ1Zkx X-Gm-Gg: ATEYQzxeM1InWQbwx9spRt3/pGqsFXihmAFMEcIhE4lGu9zkxoP+Ozd3+Wv2eaH0KfO QfyL6uW5NLJNkhIcSmwYvXHGi8nq0qHKIVyH64ut+lr7x9EFUBoIyV9dOkOdFVXf93BA9IArxM7 ap+ID7+PLGvELdLzBRBWXY754aUjk2B3zk1TBZ8NIIysAI4O/8CZSEhJR5tcfEgmZ2HRCvzWPfW FfjxIjIX82YzBxIpuCn4kLg8R+Sr+RFBIM/a2u/imL+aZC4zRHXHX3BpYkmUav3nuiIgAgx4RHy Pj+cGg5yYmNn+mWGcK4mh2lxpl8Pp4bDcTr9udBn+4FCfkqmYfo6CAw6atWfmSboeJyLecBav9r MOXXrkdFeWl7M3C8iG/Y5EA8AWCxIKaEKNEJ7Ep6nZFZ1VDQlJgzW/elZwRzlTmVtN+Jt6Mj6Dw EvuXEVkBVjwJN4Q58W4CHP8AQ1mMCtAvqdkVNouVtB4Y8dq+kbF2I4yZgs X-Received: by 2002:a05:6820:c89:b0:67b:ad6a:ac10 with SMTP id 006d021491bc7-67c0db1a703mr3715865eaf.50.1773873019226; Wed, 18 Mar 2026 15:30:19 -0700 (PDT) Received: from localhost ([2a03:2880:10ff:58::]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-67c0d88c5bbsm2544446eaf.10.2026.03.18.15.30.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Mar 2026 15:30:18 -0700 (PDT) From: Nhat Pham To: kasong@tencent.com Cc: Liam.Howlett@oracle.com, akpm@linux-foundation.org, apopple@nvidia.com, axelrasmussen@google.com, baohua@kernel.org, baolin.wang@linux.alibaba.com, bhe@redhat.com, byungchul@sk.com, cgroups@vger.kernel.org, chengming.zhou@linux.dev, chrisl@kernel.org, corbet@lwn.net, david@kernel.org, dev.jain@arm.com, gourry@gourry.net, hannes@cmpxchg.org, hughd@google.com, jannh@google.com, joshua.hahnjy@gmail.com, lance.yang@linux.dev, lenb@kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-pm@vger.kernel.org, lorenzo.stoakes@oracle.com, matthew.brost@intel.com, mhocko@suse.com, muchun.song@linux.dev, npache@redhat.com, nphamcs@gmail.com, pavel@kernel.org, peterx@redhat.com, peterz@infradead.org, pfalcato@suse.de, rafael@kernel.org, rakie.kim@sk.com, roman.gushchin@linux.dev, rppt@kernel.org, ryan.roberts@arm.com, shakeel.butt@linux.dev, shikemeng@huaweicloud.com, surenb@google.com, tglx@kernel.org, vbabka@suse.cz, weixugc@google.com, ying.huang@linux.alibaba.com, yosry.ahmed@linux.dev, yuanchu@google.com, zhengqi.arch@bytedance.com, ziy@nvidia.com, kernel-team@meta.com, riel@surriel.com Subject: [PATCH v4 15/21] zswap: do not start zswap shrinker if there is no physical swap slots Date: Wed, 18 Mar 2026 15:29:46 -0700 Message-ID: <20260318222953.441758-16-nphamcs@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260318222953.441758-1-nphamcs@gmail.com> References: <20260318222953.441758-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.52.0