Skip to contentSkip to conversation

mm: z3fold: deprecated ZSWAP_ZPOOL_DEFAULT_Z3FOLD as well

PATCH In review Arnd Bergmann 3 participants 4 messages Sep 9, 2024

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mm: z3fold: deprecated ZSWAP_ZPOOL_DEFAULT_Z3FOLD as well

From: Arnd Bergmann <[email protected]>

Randconfig builds that use ZSWAP_ZPOOL_DEFAULT_Z3FOLD now cause a harmless warning:

WARNING: unmet direct dependencies detected for Z3FOLD
Depends on [n]: Z3FOLD_DEPRECATED [=n] Selected by [y]:
- ZSWAP_ZPOOL_DEFAULT_Z3FOLD [=y] && ZSWAP [=y]

Avoid the warning by selecting Z3FOLD_DEPRECATED instead, but rename this symbol to ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED in the process so it no longer automatically gets used with old defconfigs while still allowing users to select it manually.

Fixes c68c1bed014d ("mm: z3fold: deprecate CONFIG_Z3FOLD")
---
 mm/Kconfig | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
mm/Kconfig +7 -4
index 7c9930bf8a9d..09aebca1cae3 100644
@@ -146,12 +146,15 @@ config ZSWAP_ZPOOL_DEFAULT_ZBUD
 	help
 	  Use the zbud allocator as the default allocator.
 
-config ZSWAP_ZPOOL_DEFAULT_Z3FOLD
-	bool "z3fold"
-	select Z3FOLD
+config ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED
+	bool "z3foldi (DEPRECATED)"
+	select Z3FOLD_DEPRECATED
 	help
 	  Use the z3fold allocator as the default allocator.
 
+	  Deprecated and scheduled for removal in a few cycles,
+	  see CONFIG_Z3FOLD_DEPRECATED.
+
 config ZSWAP_ZPOOL_DEFAULT_ZSMALLOC
 	bool "zsmalloc"
 	select ZSMALLOC
@@ -163,7 +166,7 @@ config ZSWAP_ZPOOL_DEFAULT
        string
        depends on ZSWAP
        default "zbud" if ZSWAP_ZPOOL_DEFAULT_ZBUD
-       default "z3fold" if ZSWAP_ZPOOL_DEFAULT_Z3FOLD
+       default "z3fold" if ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED
        default "zsmalloc" if ZSWAP_ZPOOL_DEFAULT_ZSMALLOC
        default ""
 
Signature · 1 line
2.39.2
#1 lore raw
Quoted 28 lines · Arnd Bergmann

From: Arnd Bergmann <[email protected]>

Randconfig builds that use ZSWAP_ZPOOL_DEFAULT_Z3FOLD now cause a harmless warning:

WARNING: unmet direct dependencies detected for Z3FOLD
Depends on [n]: Z3FOLD_DEPRECATED [=n] Selected by [y]:
- ZSWAP_ZPOOL_DEFAULT_Z3FOLD [=y] && ZSWAP [=y]

Avoid the warning by selecting Z3FOLD_DEPRECATED instead, but rename this symbol to ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED in the process so it no longer automatically gets used with old defconfigs while still allowing users to select it manually.

Fixes c68c1bed014d ("mm: z3fold: deprecate CONFIG_Z3FOLD")
---
 mm/Kconfig | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
mm/Kconfig +0 -0
index 7c9930bf8a9d..09aebca1cae3 100644

mm/Kconfig config ZSWAP_ZPOOL_DEFAULT_ZBUD · line 151

Quoted 9 lines
mm/Kconfig +3 -3
@@ -146,12 +146,15 @@ config ZSWAP_ZPOOL_DEFAULT_ZBUD
        help
          Use the zbud allocator as the default allocator.
 
-config ZSWAP_ZPOOL_DEFAULT_Z3FOLD
-       bool "z3fold"
-       select Z3FOLD
+config ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED
+       bool "z3foldi (DEPRECATED)"
+       select Z3FOLD_DEPRECATED

Thanks for looking into this!

I was going to fix this by changing "select Z3FOLD" to "depends on Z3FOLD" instead. It makes the warning go away in my builds. Does this work for you?

FYI I will send a new version of "mm: z3fold: deprecate CONFIG_Z3FOLD" as a hotfix after v6.12-rc1 is out as there are currently conflicts, so I plan to squash the fix into the next version if that's okay with you.

Quoted 21 lines
mm/Kconfig +4 -2
        help
          Use the z3fold allocator as the default allocator.
 
+         Deprecated and scheduled for removal in a few cycles,
+         see CONFIG_Z3FOLD_DEPRECATED.
+
 config ZSWAP_ZPOOL_DEFAULT_ZSMALLOC
        bool "zsmalloc"
        select ZSMALLOC
@@ -163,7 +166,7 @@ config ZSWAP_ZPOOL_DEFAULT
        string
        depends on ZSWAP
        default "zbud" if ZSWAP_ZPOOL_DEFAULT_ZBUD
-       default "z3fold" if ZSWAP_ZPOOL_DEFAULT_Z3FOLD
+       default "z3fold" if ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED
        default "zsmalloc" if ZSWAP_ZPOOL_DEFAULT_ZSMALLOC
        default ""
 
--

2.39.2

#2 lore raw
Quoted 11 lines · Yosry Ahmed

mm/Kconfig config ZSWAP_ZPOOL_DEFAULT_ZBUD · line 151

Quoted 7 lines · Arnd Bergmann
mm/Kconfig +3 -3
-config ZSWAP_ZPOOL_DEFAULT_Z3FOLD
-       bool "z3fold"
-       select Z3FOLD
+config ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED
+       bool "z3foldi (DEPRECATED)"
+       select Z3FOLD_DEPRECATED

Thanks for looking into this!

Quoted 3 lines

I was going to fix this by changing "select Z3FOLD" to "depends on Z3FOLD" instead. It makes the warning go away in my builds. Does this work for you?

I had also thought about this but decided that this would make less sense from a user perspective.

If it builds in all configs, I won't complain though.

Arnd

#3 lore raw
Quoted 13 lines · Arnd Bergmann
Quoted 11 lines · Yosry Ahmed

mm/Kconfig config ZSWAP_ZPOOL_DEFAULT_ZBUD · line 151

Quoted 7 lines · Arnd Bergmann
mm/Kconfig +3 -3
-config ZSWAP_ZPOOL_DEFAULT_Z3FOLD
-       bool "z3fold"
-       select Z3FOLD
+config ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED
+       bool "z3foldi (DEPRECATED)"
+       select Z3FOLD_DEPRECATED

Thanks for looking into this!

Quoted 6 lines
Quoted 3 lines

I was going to fix this by changing "select Z3FOLD" to "depends on Z3FOLD" instead. It makes the warning go away in my builds. Does this work for you?

I had also thought about this but decided that this would make less sense from a user perspective.

I doubt there are any actual users who care :)

Quoted 2 lines

If it builds in all configs, I won't complain though.

I will use "depends on Z3FOLD" in v3 just because it's simpler. If bots complain, I will fallback to your approach.

Thanks!