From mboxrd@z Thu Jan 1 00:00:00 1970 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 B5E72C0218A for ; Tue, 28 Jan 2025 10:29:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2E60B280227; Tue, 28 Jan 2025 05:29:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 295D4280226; Tue, 28 Jan 2025 05:29:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1369D280227; Tue, 28 Jan 2025 05:29:22 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id DC6F6280226 for ; Tue, 28 Jan 2025 05:29:21 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 83EC480CC0 for ; Tue, 28 Jan 2025 10:29:21 +0000 (UTC) X-FDA: 83056488522.13.6FA3286 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by imf13.hostedemail.com (Postfix) with ESMTP id 6A54720007 for ; Tue, 28 Jan 2025 10:29:19 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=konsulko.com header.s=google header.b="F/m5FFIR"; spf=pass (imf13.hostedemail.com: domain of vitaly.wool@konsulko.com designates 209.85.216.44 as permitted sender) smtp.mailfrom=vitaly.wool@konsulko.com; dmarc=pass (policy=none) header.from=konsulko.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738060159; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=dbEZy5ERzlGxE+JxrZKuvW/TG1tTMNZ2RFWUwkJjTfY=; b=ZYSvHc/PSm7N2fD2PWcU+6veJUk7lul/o9F0kP7pwHIOCwG6ySMEirks0kVG9y5sHkaxpG FsSxa4CHOBAqAu+DG01XyiNd1N/qK3wyaWEVh6pYHw5ceApRBgFKfkVanKnrnHTA+RwQK/ K6Sc7CG6Q3kJpyWcTFwfpop6+FvEr0A= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738060159; a=rsa-sha256; cv=none; b=BgNiCkitvbh115oz84ietpth/8dmPpLScsdd4yKwurUcBxeLErpfZFDPXyUzPwPVHEYb/g f8lMIT/4rqeYXqJrNYnhk1f62kyOPp1tQuRwCnRR5pFArBDqiPt6w77ZdfKQBhtags2Irb EppevPaCNdCYDxbYifRuV+brDW+so8M= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=konsulko.com header.s=google header.b="F/m5FFIR"; spf=pass (imf13.hostedemail.com: domain of vitaly.wool@konsulko.com designates 209.85.216.44 as permitted sender) smtp.mailfrom=vitaly.wool@konsulko.com; dmarc=pass (policy=none) header.from=konsulko.com Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-2f43d17b0e3so9562231a91.0 for ; Tue, 28 Jan 2025 02:29:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; t=1738060158; x=1738664958; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=dbEZy5ERzlGxE+JxrZKuvW/TG1tTMNZ2RFWUwkJjTfY=; b=F/m5FFIRfJE47fBFk1DtFdNOGXJw9LFTkUUiizT0kNblK4Kid40e8GPHUGBKUO48lb UgjAE7utPgZSgNdj5chBWlXgFjiZFUM35BdOV16MOUkJvT2PfVnvYk4PwKBDOXeFfXDq /RQoLVlys8PkyS94FuKIw4dScW3JrR0DZTro4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738060158; x=1738664958; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=dbEZy5ERzlGxE+JxrZKuvW/TG1tTMNZ2RFWUwkJjTfY=; b=nZbUurHy0alLUri/X4siU2nhp0zxTWX5AD6hcWPoYjTxu3tQDIvjTiCYan9V6BTaqw rUtrN1RpVHJBouHsi+E7fEVa9NtO78PGiFUbRrJPSiIvS2tUOonI+2u6ufUf9i722Yyc hW8QusA3kQZ8/pBDsdeJkF4Qv40Gd0Va1pcK7swtJ+I0u+CEHaD5AKoA0KOXWGnG4N8a kkpLj69qmpmY9M0ZHZhGnzrajxdBg0pUSjiN8HEHRFx1wmIax/y3SFPPrdCJBJ0XclDc f5Akh7u59fhKj/iCWd8Ew+XxuZH4v/wBkOnqjKuqwC3nVtbRmrEAroPkMo6s6E+xSCFA MJwg== X-Forwarded-Encrypted: i=1; AJvYcCUE5v/h8Lu7aIt0qIEaZ1KhzH98dmjW/ONUMAIPuohD3lyAKrQU4fPRECFgaLj0JjH8c5Tf5yyvhw==@kvack.org X-Gm-Message-State: AOJu0Yw6+WgbR4a9eop0kZqpDdjhbdsLOAmk2AGisI4lFCw41VMB8zNP LutWKJZff6lfBWCaq4wnGH45gVdevVcqxfZidk8mlGZQwLahZVmRvbAmadJlf01B4ifkSl1+sqo suFPXsVQIyhkTUd9AzXL1VJgj+nLFVdxUIWwK7A== X-Gm-Gg: ASbGncv4DVoHwutEU+wKTa7P8B2u+yzR4BpE8ITvFvuLtHoYQYVquoljylgVnOE1maN LHzBhry3oivRGW+BgcbV7LAc2HD5khDE6/BTNwm49MjEbV1mQqsIRUJ6Wzf7laJdExlK3KPU= X-Google-Smtp-Source: AGHT+IHTf8bdrCmPxOIujSvhovD8xrMztGg9/+w2dWH1tnkCKsU0hAezvWTFE1kUFxnQnJh3baPFN3xdwi6TzXkV3Ik= X-Received: by 2002:a17:90b:2543:b0:2f4:4003:f3ea with SMTP id 98e67ed59e1d1-2f782d9a1e1mr72197529a91.33.1738060158139; Tue, 28 Jan 2025 02:29:18 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Vitaly Wool Date: Tue, 28 Jan 2025 11:29:07 +0100 X-Gm-Features: AWEUYZnoWttvWJOqD609UcClOZUrzW2HMnaygmX7N_MXSxjqesaXJyLJOogLZO0 Message-ID: Subject: Re: [PATCH 1/2] mm: zbud: deprecate CONFIG_ZBUD To: Yosry Ahmed Cc: Andrew Morton , Miaohe Lin , Johannes Weiner , Nhat Pham , Chengming Zhou , Huacai Chen , WANG Xuerui , linux-mm@kvack.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev Content-Type: multipart/alternative; boundary="000000000000531501062cc1aa82" X-Stat-Signature: rn9fn1ouktakw4ysirw8funp4whi5e8i X-Rspam-User: X-Rspamd-Queue-Id: 6A54720007 X-Rspamd-Server: rspam03 X-HE-Tag: 1738060159-952431 X-HE-Meta: U2FsdGVkX18v/1ao1o5lqYqQkgMw9mwpukMDlJbqQOrQrauzxyw26y/UlvDLFLvPc1oqlNViuQf9nbgzSo5WUbIUb61uOp5BGpok3LrR6NConaqnSWDXpviFGue/lz3jiiJgl/rVE5oh7BXDzNQnCXySRsH+kKVtNpt+zH8bvGXtp/7RtuVxy1m4UW3SyzGSuXXzBO2e56LoV7b0VC7hQZeBgllXtSVKDept56HKtIIlTqEgpEpgunfN2ZLX7ui/qyhGKa1sYKKRoIEljx33cwbF++VLelYYxPVFKul15mWwG5thjqrEFQoTuIccrujx/jyxV0ZBMjoB4pj6Nep8mm+kjE37b7d0SUxPNP52CAEv8PC/8hgdMB0dq7fiQxdQ3XuybqdMYeBstrm3z+ToBnCgqY20qmQVaCFi3XXGqOGjvCef1pSmDcgYtfGlHR7MU9iOzvaXi2sjOeUbvjM3sViTFYRJ2O8mZb38mK7Tg1u/tijMqs4Ud7kzrixj6PmaZTIJTT6t2EwwGRXnBjSPnF8HFNytDx75vIJx1cLWJen+SrYt+5OyRdVf2NkIPr2It+ZOeFm1JZL4w4ooYbmW0edQqVUw1AIuHeK1FdgesfgbjdOzq0QrgJMLsTgmF2f/YbkONtA6wEMYQH/+WqxLEKxNyJQxMm9d7Q9+YncJ0TwJreN60j19Pou+sVgVqlYLhCN+tcpfCzxTcUl5pNQZEFqfSIdYPfaidwF2W2CbSzdRblPw6jGXhOy2u73z14wLjjzKNNlhyj1BSNRrVrYvJfxjzUrEJQhjAgBsqg3U5556JM2QO3ckx1U/Bs9BYM7Y0rBb+itq//+AIdZhECK58X1pLqGJ5QKl+hxiyuAf7iCDTv2nf7Z+2WlBFevJ1bhXfFL2uXuLBPh49KzJM/OYAl3hKndUDCZcdirlnqnDBzscB4XCJL+ReopHy8GU88xVt/LHnx5AyOEGuwImvm1 o8u3AMoy p6L70VaqONzdL+cjsehIRrsr/RPxjkXe9VeLeR2s+NiSxayu3EUdUyvwrG8wq9R36CmDu+tCoZ+miHnQ/dBPJW7FqViCD1tYuT3avaEqTJOh2EboJCWchlefRd2DGDMpDl3l2eYArCdd2mkHAbdYUxTqO3s/YVjw7ij/ikKppFs9fQ7j2o75r6litMftb9ki3wQRYpssRPk/yKX3PAphIPAEMpMys9VZoQzc/e8KG6MGPKQHbcNNPaUV3SV/vf4MAz48IKorieMXIC3szKqy8i0Ns4RUyNYn5mh6MeWs88Rm5+mHt24UHcLsbG6RwIUIZ8ZVGRZueTe7LM4MyiT9tAMIocs+fFLwNgbWk8t6rgkTEJc0YgKLcWSjecY4/XjeUvoegsfuAkMffgGHP6Xdsh1n+EU5fbzHfieXofktbpOrUsf7tkF8VUoNEMGXeHcHAbcU9Q8QtlYtPk0UXFslp5Cxyl97Gxp9Y7eP7 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: --000000000000531501062cc1aa82 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Yosry, On Tue, Jan 28, 2025 at 12:58=E2=80=AFAM Yosry Ahmed wrote: > The zbud compressed pages allocator is rarely used, most users use > zsmalloc. zbud consumes much more memory (only stores 1 or 2 compressed > pages per physical page). The only advantage of zbud is a marginal > performance improvement that by no means justify the memory overhead. > > Historically, zsmalloc had significantly worse latency than zbud and > z3fold but offered better memory savings. This is no longer the case as > shown by a simple recent analysis [1]. In a kernel build test on tmpfs > in a limited cgroup, zbud 2-3% less time than zsmalloc, but at the cost > of using ~32% more memory (1.5G vs 1.13G). The tradeoff does not make > sense for zbud in any practical scenario. > > The only alleged advantage of zbud is not having the dependency on > CONFIG_MMU, but CONFIG_SWAP already depends on CONFIG_MMU anyway, and > zbud is only used by zswap. > > Following in the footsteps of [2], which deprecated z3fold, deprecated > zbud as planned and remove it in a few cycles if no objections are > raised from active users. > > Rename the user-visible config options so that users with CONFIG_ZBUD=3Dy > get a new prompt with explanation during make oldconfig. Also, remove > CONFIG_ZBUD from defconfig. > > [1] > https://lore.kernel.org/lkml/CAJD7tkbRF6od-2x_L8-A1QL3=3D2Ww13sCj4S3i4bNn= dqF+3+_Vg@mail.gmail.com/ > [2] > https://lore.kernel.org/lkml/20240904233343.933462-1-yosryahmed@google.co= m/ > > Signed-off-by: Yosry Ahmed > Let me disagree here. The footprint for zbud and the ability to work in MMU-less setups make it self sufficient and I don't support its deprecation= . I can give a formal NAK if that's required. Thanks, Vitaly > --- > arch/loongarch/configs/loongson3_defconfig | 3 +-- > mm/Kconfig | 26 ++++++++++++++++------ > 2 files changed, 20 insertions(+), 9 deletions(-) > > diff --git a/arch/loongarch/configs/loongson3_defconfig > b/arch/loongarch/configs/loongson3_defconfig > index 73c77500ac467..7ce5beb3cbf34 100644 > --- a/arch/loongarch/configs/loongson3_defconfig > +++ b/arch/loongarch/configs/loongson3_defconfig > @@ -109,8 +109,7 @@ CONFIG_BINFMT_MISC=3Dm > CONFIG_ZPOOL=3Dy > CONFIG_ZSWAP=3Dy > CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=3Dy > -CONFIG_ZBUD=3Dy > -CONFIG_ZSMALLOC=3Dm > +CONFIG_ZSMALLOC=3Dy > # CONFIG_COMPAT_BRK is not set > CONFIG_MEMORY_HOTPLUG=3Dy > # CONFIG_MHP_DEFAULT_ONLINE_TYPE_OFFLINE is not set > diff --git a/mm/Kconfig b/mm/Kconfig > index 1b501db064172..e3e15ab0cba49 100644 > --- a/mm/Kconfig > +++ b/mm/Kconfig > @@ -129,7 +129,6 @@ choice > prompt "Default allocator" > depends on ZSWAP > default ZSWAP_ZPOOL_DEFAULT_ZSMALLOC if MMU > - default ZSWAP_ZPOOL_DEFAULT_ZBUD > help > Selects the default allocator for the compressed cache for > swap pages. > @@ -140,12 +139,15 @@ choice > The selection made here can be overridden by using the kernel > command line 'zswap.zpool=3D' option. > > -config ZSWAP_ZPOOL_DEFAULT_ZBUD > - bool "zbud" > - select ZBUD > +config ZSWAP_ZPOOL_DEFAULT_ZBUD_DEPRECATED > + bool "zbud (DEPRECATED)" > + select ZBUD_DEPRECATED > help > Use the zbud allocator as the default allocator. > > + Deprecated and scheduled for removal in a few cycles, > + see CONFIG_ZBUD_DEPRECATED. > + > config ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED > bool "z3foldi (DEPRECATED)" > select Z3FOLD_DEPRECATED > @@ -165,21 +167,31 @@ endchoice > config ZSWAP_ZPOOL_DEFAULT > string > depends on ZSWAP > - default "zbud" if ZSWAP_ZPOOL_DEFAULT_ZBUD > + default "zbud" if ZSWAP_ZPOOL_DEFAULT_ZBUD_DEPRECATED > default "z3fold" if ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED > default "zsmalloc" if ZSWAP_ZPOOL_DEFAULT_ZSMALLOC > default "" > > -config ZBUD > - tristate "2:1 compression allocator (zbud)" > +config ZBUD_DEPRECATED > + tristate "2:1 compression allocator (zbud) (DEPRECATED)" > depends on ZSWAP > help > + Deprecated and scheduled for removal in a few cycles. If you ha= ve > + a good reason for using ZBUD over ZSMALLOC, please contact > + linux-mm@kvack.org and the zswap maintainers. > + > A special purpose allocator for storing compressed pages. > It is designed to store up to two compressed pages per physical > page. While this design limits storage density, it has simple > and > deterministic reclaim properties that make it preferable to a > higher > density approach when reclaim will be used. > > +config ZBUD > + tristate > + default y if ZBUD_DEPRECATED=3Dy > + default m if ZBUD_DEPRECATED=3Dm > + depends on ZBUD_DEPRECATED > + > config Z3FOLD_DEPRECATED > tristate "3:1 compression allocator (z3fold) (DEPRECATED)" > depends on ZSWAP > -- > 2.48.1.262.g85cc9f2d1e-goog > > --000000000000531501062cc1aa82 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi=C2=A0Yosry,

On Tu= e, Jan 28, 2025 at 12:58=E2=80=AFAM Yosry Ahmed <yosry.ahmed@linux.dev> wrote:
The zbud compressed pages allocator = is rarely used, most users use
zsmalloc. zbud consumes much more memory (only stores 1 or 2 compressed
pages per physical page). The only advantage of zbud is a marginal
performance improvement that by no means justify the memory overhead.

Historically, zsmalloc had significantly worse latency than zbud and
z3fold but offered better memory savings.=C2=A0 This is no longer the case = as
shown by a simple recent analysis [1].=C2=A0 In a kernel build test on tmpf= s
in a limited cgroup, zbud 2-3% less time than zsmalloc, but at the cost
of using ~32% more memory (1.5G vs 1.13G). The tradeoff does not make
sense for zbud in any practical scenario.

The only alleged advantage of zbud is not having the dependency on
CONFIG_MMU, but CONFIG_SWAP already depends on CONFIG_MMU anyway, and
zbud is only used by zswap.

Following in the footsteps of [2], which deprecated z3fold, deprecated
zbud as planned and remove it in a few cycles if no objections are
raised from active users.

Rename the user-visible config options so that users with CONFIG_ZBUD=3Dy get a new prompt with explanation during make oldconfig. Also, remove
CONFIG_ZBUD from defconfig.

[1]https://lore.kernel.org/lkml/CAJD7tkbRF6od-2x_L8-A1QL3=3D2Ww13sCj4S3i4bNnd= qF+3+_Vg@mail.gmail.com/
[2]https://lore.kernel.or= g/lkml/20240904233343.933462-1-yosryahmed@google.com/

Signed-off-by: Yosry Ahmed <yosry.ahmed@linux.dev>

Let me disagree here. The footprint for zbud and the ability to work = in MMU-less setups make it self sufficient and I don't support its depr= ecation.
I can give a formal NAK if that's required.

Thanks,
Vitaly
=C2=A0
---
=C2=A0arch/loongarch/configs/loongson3_defconfig |=C2=A0 3 +--
=C2=A0mm/Kconfig=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 26 +++++++++++= +++++------
=C2=A02 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/arch/loongarch/configs/loongson3_defconfig b/arch/loongarch/co= nfigs/loongson3_defconfig
index 73c77500ac467..7ce5beb3cbf34 100644
--- a/arch/loongarch/configs/loongson3_defconfig
+++ b/arch/loongarch/configs/loongson3_defconfig
@@ -109,8 +109,7 @@ CONFIG_BINFMT_MISC=3Dm
=C2=A0CONFIG_ZPOOL=3Dy
=C2=A0CONFIG_ZSWAP=3Dy
=C2=A0CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=3Dy
-CONFIG_ZBUD=3Dy
-CONFIG_ZSMALLOC=3Dm
+CONFIG_ZSMALLOC=3Dy
=C2=A0# CONFIG_COMPAT_BRK is not set
=C2=A0CONFIG_MEMORY_HOTPLUG=3Dy
=C2=A0# CONFIG_MHP_DEFAULT_ONLINE_TYPE_OFFLINE is not set
diff --git a/mm/Kconfig b/mm/Kconfig
index 1b501db064172..e3e15ab0cba49 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -129,7 +129,6 @@ choice
=C2=A0 =C2=A0 =C2=A0 =C2=A0 prompt "Default allocator"
=C2=A0 =C2=A0 =C2=A0 =C2=A0 depends on ZSWAP
=C2=A0 =C2=A0 =C2=A0 =C2=A0 default ZSWAP_ZPOOL_DEFAULT_ZSMALLOC if MMU
-=C2=A0 =C2=A0 =C2=A0 =C2=A0default ZSWAP_ZPOOL_DEFAULT_ZBUD
=C2=A0 =C2=A0 =C2=A0 =C2=A0 help
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Selects the default allocator for the co= mpressed cache for
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 swap pages.
@@ -140,12 +139,15 @@ choice
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 The selection made here can be overridde= n by using the kernel
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 command line 'zswap.zpool=3D' op= tion.

-config ZSWAP_ZPOOL_DEFAULT_ZBUD
-=C2=A0 =C2=A0 =C2=A0 =C2=A0bool "zbud"
-=C2=A0 =C2=A0 =C2=A0 =C2=A0select ZBUD
+config ZSWAP_ZPOOL_DEFAULT_ZBUD_DEPRECATED
+=C2=A0 =C2=A0 =C2=A0 =C2=A0bool "zbud (DEPRECATED)"
+=C2=A0 =C2=A0 =C2=A0 =C2=A0select ZBUD_DEPRECATED
=C2=A0 =C2=A0 =C2=A0 =C2=A0 help
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Use the zbud allocator as the default al= locator.

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Deprecated and scheduled for removal in = a few cycles,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0see CONFIG_ZBUD_DEPRECATED.
+
=C2=A0config ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED
=C2=A0 =C2=A0 =C2=A0 =C2=A0 bool "z3foldi (DEPRECATED)"
=C2=A0 =C2=A0 =C2=A0 =C2=A0 select Z3FOLD_DEPRECATED
@@ -165,21 +167,31 @@ endchoice
=C2=A0config ZSWAP_ZPOOL_DEFAULT
=C2=A0 =C2=A0 =C2=A0 =C2=A0 string
=C2=A0 =C2=A0 =C2=A0 =C2=A0 depends on ZSWAP
-=C2=A0 =C2=A0 =C2=A0 =C2=A0default "zbud" if ZSWAP_ZPOOL_DEFAULT= _ZBUD
+=C2=A0 =C2=A0 =C2=A0 =C2=A0default "zbud" if ZSWAP_ZPOOL_DEFAULT= _ZBUD_DEPRECATED
=C2=A0 =C2=A0 =C2=A0 =C2=A0 default "z3fold" if ZSWAP_ZPOOL_DEFAU= LT_Z3FOLD_DEPRECATED
=C2=A0 =C2=A0 =C2=A0 =C2=A0 default "zsmalloc" if ZSWAP_ZPOOL_DEF= AULT_ZSMALLOC
=C2=A0 =C2=A0 =C2=A0 =C2=A0 default ""

-config ZBUD
-=C2=A0 =C2=A0 =C2=A0 =C2=A0tristate "2:1 compression allocator (zbud)= "
+config ZBUD_DEPRECATED
+=C2=A0 =C2=A0 =C2=A0 =C2=A0tristate "2:1 compression allocator (zbud)= (DEPRECATED)"
=C2=A0 =C2=A0 =C2=A0 =C2=A0 depends on ZSWAP
=C2=A0 =C2=A0 =C2=A0 =C2=A0 help
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Deprecated and scheduled for removal in = a few cycles. If you have
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0a good reason for using ZBUD over ZSMALL= OC, please contact
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0linux-mm@kvack.org and the zswap maintainers.
+
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 A special purpose allocator for storing = compressed pages.
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 It is designed to store up to two compre= ssed pages per physical
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 page.=C2=A0 While this design limits sto= rage density, it has simple and
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 deterministic reclaim properties that ma= ke it preferable to a higher
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 density approach when reclaim will be us= ed.

+config ZBUD
+=C2=A0 =C2=A0 =C2=A0 =C2=A0tristate
+=C2=A0 =C2=A0 =C2=A0 =C2=A0default y if ZBUD_DEPRECATED=3Dy
+=C2=A0 =C2=A0 =C2=A0 =C2=A0default m if ZBUD_DEPRECATED=3Dm
+=C2=A0 =C2=A0 =C2=A0 =C2=A0depends on ZBUD_DEPRECATED
+
=C2=A0config Z3FOLD_DEPRECATED
=C2=A0 =C2=A0 =C2=A0 =C2=A0 tristate "3:1 compression allocator (z3fol= d) (DEPRECATED)"
=C2=A0 =C2=A0 =C2=A0 =C2=A0 depends on ZSWAP
--
2.48.1.262.g85cc9f2d1e-goog

--000000000000531501062cc1aa82--