From: Chris Down <chris@chrisdown.name>
To: Yosry Ahmed <yosryahmed@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Vitaly Wool <vitaly.wool@konsulko.com>,
Miaohe Lin <linmiaohe@huawei.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Nhat Pham <nphamcs@gmail.com>,
Huacai Chen <chenhuacai@kernel.org>,
WANG Xuerui <kernel@xen0n.name>,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
Christophe Leroy <christophe.leroy@csgroup.eu>,
"Aneesh Kumar K.V" <aneesh.kumar@kernel.org>,
"Naveen N. Rao" <naveen.n.rao@linux.ibm.com>,
linux-mm@kvack.org, loongarch@lists.linux.dev,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [RFC PATCH] mm: z3fold: rename CONFIG_Z3FOLD to CONFIG_Z3FOLD_DEPRECATED
Date: Tue, 16 Jan 2024 16:44:55 +0000 [thread overview]
Message-ID: <Zaayh527V881l8tf@chrisdown.name> (raw)
In-Reply-To: <20240112193103.3798287-1-yosryahmed@google.com>
Yosry Ahmed writes:
>The z3fold compressed pages allocator is not widely used, most users use
>zsmalloc. The only disadvantage of zsmalloc in comparison is the
>dependency on MMU, and zbud is a more common option for !MMU as it was
>the default zswap allocator for a long time.
>
>In hopes of having a single compressed pages allocator at some point,
>and following in the footsteps of SLAB, deprecate z3fold. Rename the
>user-visible option so that users with CONFIG_Z3FOLD=y get a new prompt
>with explanation during make oldconfig. Remove CONFIG_Z3FOLD=y from
>defconfigs.
>
>Existing users, if any, should voice their objections. Otherwise, we can
>remove z3fold in a few releases.
>
>Signed-off-by: Yosry Ahmed <yosryahmed@google.com>
Acked-by: Chris Down <chris@chrisdown.name>
Thanks. We are definitely hurting users as well by keeping this around with its
known issues when writeback is disabled, for example.
>---
>I have limited understanding of Kconfigs. I modelled this after commit
>eb07c4f39c3e ("mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED"),
>but one difference is that CONFIG_Z3FOLD is a tristate. I made
>CONFIG_Z3FOLD_DEPRECATED a boolean config, and CONFIG_Z3FOLD default y
>so that it is on by default if CONFIG_Z3FOLD_DEPRECATED is selected. I
>am not sure if that's the correct way to do this.
>
>---
> arch/loongarch/configs/loongson3_defconfig | 1 -
> arch/powerpc/configs/ppc64_defconfig | 1 -
> mm/Kconfig | 13 +++++++++++--
> 3 files changed, 11 insertions(+), 4 deletions(-)
>
>diff --git a/arch/loongarch/configs/loongson3_defconfig b/arch/loongarch/configs/loongson3_defconfig
>index 33795e4a5bd63..89b66b6c6a1d5 100644
>--- a/arch/loongarch/configs/loongson3_defconfig
>+++ b/arch/loongarch/configs/loongson3_defconfig
>@@ -85,7 +85,6 @@ CONFIG_ZPOOL=y
> CONFIG_ZSWAP=y
> CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
> CONFIG_ZBUD=y
>-CONFIG_Z3FOLD=y
> CONFIG_ZSMALLOC=m
> # CONFIG_COMPAT_BRK is not set
> CONFIG_MEMORY_HOTPLUG=y
>diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
>index 544a65fda77bc..d39284489aa26 100644
>--- a/arch/powerpc/configs/ppc64_defconfig
>+++ b/arch/powerpc/configs/ppc64_defconfig
>@@ -81,7 +81,6 @@ CONFIG_MODULE_SIG_SHA512=y
> CONFIG_PARTITION_ADVANCED=y
> CONFIG_BINFMT_MISC=m
> CONFIG_ZSWAP=y
>-CONFIG_Z3FOLD=y
> CONFIG_ZSMALLOC=y
> # CONFIG_SLAB_MERGE_DEFAULT is not set
> CONFIG_SLAB_FREELIST_RANDOM=y
>diff --git a/mm/Kconfig b/mm/Kconfig
>index 1902cfe4cc4f5..bc6cc97c08349 100644
>--- a/mm/Kconfig
>+++ b/mm/Kconfig
>@@ -193,15 +193,24 @@ config ZBUD
> deterministic reclaim properties that make it preferable to a higher
> density approach when reclaim will be used.
>
>-config Z3FOLD
>- tristate "3:1 compression allocator (z3fold)"
>+config Z3FOLD_DEPRECATED
>+ bool "3:1 compression allocator (z3fold) (DEPRECATED)"
> depends on ZSWAP
> help
>+ Deprecated and scheduled for removal in a few cycles. If you have
>+ a good reason for using Z3FOLD rather than ZSMALLOC or ZBUD, 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 three compressed pages per physical
> page. It is a ZBUD derivative so the simplicity and determinism are
> still there.
>
>+config Z3FOLD
>+ tristate
>+ default y
>+ depends on Z3FOLD_DEPRECATED
>+
> config ZSMALLOC
> tristate
> prompt "N:1 compression allocator (zsmalloc)" if ZSWAP
>--
>2.43.0.275.g3460e3d667-goog
>
>
WARNING: multiple messages have this Message-ID (diff)
From: Chris Down <chris@chrisdown.name>
To: Yosry Ahmed <yosryahmed@google.com>
Cc: Miaohe Lin <linmiaohe@huawei.com>, Nhat Pham <nphamcs@gmail.com>,
Huacai Chen <chenhuacai@kernel.org>,
Nicholas Piggin <npiggin@gmail.com>,
"Aneesh Kumar K.V" <aneesh.kumar@kernel.org>,
linux-mm@kvack.org, loongarch@lists.linux.dev,
Johannes Weiner <hannes@cmpxchg.org>,
"Naveen N. Rao" <naveen.n.rao@linux.ibm.com>,
Andrew Morton <akpm@linux-foundation.org>,
linuxppc-dev@lists.ozlabs.org, WANG Xuerui <kernel@xen0n.name>,
Vitaly Wool <vitaly.wool@konsulko.com>
Subject: Re: [RFC PATCH] mm: z3fold: rename CONFIG_Z3FOLD to CONFIG_Z3FOLD_DEPRECATED
Date: Tue, 16 Jan 2024 16:44:55 +0000 [thread overview]
Message-ID: <Zaayh527V881l8tf@chrisdown.name> (raw)
In-Reply-To: <20240112193103.3798287-1-yosryahmed@google.com>
Yosry Ahmed writes:
>The z3fold compressed pages allocator is not widely used, most users use
>zsmalloc. The only disadvantage of zsmalloc in comparison is the
>dependency on MMU, and zbud is a more common option for !MMU as it was
>the default zswap allocator for a long time.
>
>In hopes of having a single compressed pages allocator at some point,
>and following in the footsteps of SLAB, deprecate z3fold. Rename the
>user-visible option so that users with CONFIG_Z3FOLD=y get a new prompt
>with explanation during make oldconfig. Remove CONFIG_Z3FOLD=y from
>defconfigs.
>
>Existing users, if any, should voice their objections. Otherwise, we can
>remove z3fold in a few releases.
>
>Signed-off-by: Yosry Ahmed <yosryahmed@google.com>
Acked-by: Chris Down <chris@chrisdown.name>
Thanks. We are definitely hurting users as well by keeping this around with its
known issues when writeback is disabled, for example.
>---
>I have limited understanding of Kconfigs. I modelled this after commit
>eb07c4f39c3e ("mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED"),
>but one difference is that CONFIG_Z3FOLD is a tristate. I made
>CONFIG_Z3FOLD_DEPRECATED a boolean config, and CONFIG_Z3FOLD default y
>so that it is on by default if CONFIG_Z3FOLD_DEPRECATED is selected. I
>am not sure if that's the correct way to do this.
>
>---
> arch/loongarch/configs/loongson3_defconfig | 1 -
> arch/powerpc/configs/ppc64_defconfig | 1 -
> mm/Kconfig | 13 +++++++++++--
> 3 files changed, 11 insertions(+), 4 deletions(-)
>
>diff --git a/arch/loongarch/configs/loongson3_defconfig b/arch/loongarch/configs/loongson3_defconfig
>index 33795e4a5bd63..89b66b6c6a1d5 100644
>--- a/arch/loongarch/configs/loongson3_defconfig
>+++ b/arch/loongarch/configs/loongson3_defconfig
>@@ -85,7 +85,6 @@ CONFIG_ZPOOL=y
> CONFIG_ZSWAP=y
> CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
> CONFIG_ZBUD=y
>-CONFIG_Z3FOLD=y
> CONFIG_ZSMALLOC=m
> # CONFIG_COMPAT_BRK is not set
> CONFIG_MEMORY_HOTPLUG=y
>diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
>index 544a65fda77bc..d39284489aa26 100644
>--- a/arch/powerpc/configs/ppc64_defconfig
>+++ b/arch/powerpc/configs/ppc64_defconfig
>@@ -81,7 +81,6 @@ CONFIG_MODULE_SIG_SHA512=y
> CONFIG_PARTITION_ADVANCED=y
> CONFIG_BINFMT_MISC=m
> CONFIG_ZSWAP=y
>-CONFIG_Z3FOLD=y
> CONFIG_ZSMALLOC=y
> # CONFIG_SLAB_MERGE_DEFAULT is not set
> CONFIG_SLAB_FREELIST_RANDOM=y
>diff --git a/mm/Kconfig b/mm/Kconfig
>index 1902cfe4cc4f5..bc6cc97c08349 100644
>--- a/mm/Kconfig
>+++ b/mm/Kconfig
>@@ -193,15 +193,24 @@ config ZBUD
> deterministic reclaim properties that make it preferable to a higher
> density approach when reclaim will be used.
>
>-config Z3FOLD
>- tristate "3:1 compression allocator (z3fold)"
>+config Z3FOLD_DEPRECATED
>+ bool "3:1 compression allocator (z3fold) (DEPRECATED)"
> depends on ZSWAP
> help
>+ Deprecated and scheduled for removal in a few cycles. If you have
>+ a good reason for using Z3FOLD rather than ZSMALLOC or ZBUD, 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 three compressed pages per physical
> page. It is a ZBUD derivative so the simplicity and determinism are
> still there.
>
>+config Z3FOLD
>+ tristate
>+ default y
>+ depends on Z3FOLD_DEPRECATED
>+
> config ZSMALLOC
> tristate
> prompt "N:1 compression allocator (zsmalloc)" if ZSWAP
>--
>2.43.0.275.g3460e3d667-goog
>
>
next prev parent reply other threads:[~2024-01-16 16:44 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-12 19:31 [RFC PATCH] mm: z3fold: rename CONFIG_Z3FOLD to CONFIG_Z3FOLD_DEPRECATED Yosry Ahmed
2024-01-12 19:31 ` Yosry Ahmed
2024-01-12 19:42 ` Nhat Pham
2024-01-12 19:42 ` Nhat Pham
2024-01-12 23:37 ` Yosry Ahmed
2024-01-12 23:37 ` Yosry Ahmed
2024-01-13 0:38 ` Nhat Pham
2024-01-13 0:38 ` Nhat Pham
2024-01-14 18:49 ` Yosry Ahmed
2024-01-14 18:49 ` Yosry Ahmed
2024-01-14 22:42 ` Nhat Pham
2024-01-14 22:42 ` Nhat Pham
2024-01-14 23:14 ` Yosry Ahmed
2024-01-14 23:14 ` Yosry Ahmed
2024-01-16 15:38 ` Christoph Hellwig
2024-01-16 15:38 ` Christoph Hellwig
2024-01-16 20:19 ` Yosry Ahmed
2024-01-16 20:19 ` Yosry Ahmed
2024-01-22 7:42 ` Christoph Hellwig
2024-01-22 7:42 ` Christoph Hellwig
2024-01-22 20:49 ` Yosry Ahmed
2024-01-22 20:49 ` Yosry Ahmed
2024-01-24 21:40 ` Yosry Ahmed
2024-01-24 21:40 ` Yosry Ahmed
2024-01-12 20:13 ` Nhat Pham
2024-01-12 20:13 ` Nhat Pham
2024-01-15 12:26 ` Vitaly Wool
2024-01-15 12:26 ` Vitaly Wool
2024-01-15 16:47 ` Yosry Ahmed
2024-01-15 16:47 ` Yosry Ahmed
2024-01-16 4:27 ` Sergey Senozhatsky
2024-01-16 4:27 ` Sergey Senozhatsky
2024-01-15 20:01 ` Nhat Pham
2024-01-15 20:01 ` Nhat Pham
2024-01-16 16:46 ` Chris Down
2024-01-16 16:46 ` Chris Down
2024-01-16 16:44 ` Chris Down [this message]
2024-01-16 16:44 ` Chris Down
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=Zaayh527V881l8tf@chrisdown.name \
--to=chris@chrisdown.name \
--cc=akpm@linux-foundation.org \
--cc=aneesh.kumar@kernel.org \
--cc=chenhuacai@kernel.org \
--cc=christophe.leroy@csgroup.eu \
--cc=hannes@cmpxchg.org \
--cc=kernel@xen0n.name \
--cc=linmiaohe@huawei.com \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=loongarch@lists.linux.dev \
--cc=mpe@ellerman.id.au \
--cc=naveen.n.rao@linux.ibm.com \
--cc=nphamcs@gmail.com \
--cc=npiggin@gmail.com \
--cc=vitaly.wool@konsulko.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.