mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-01 01:03:52 +00:00
mm: z3fold: remove z3fold
Patch series "mm: zswap: remove z3fold and zbud", v2. After 2 cycles of deprecating z3fold, remove it as well as zbud (rationale in specific patches). This patch (of 2): Z3fold has been marked as deprecated for 2 cycles and no one complained, as expected. As there are no known users, remove the code now. Link: https://lkml.kernel.org/r/20250129180633.3501650-1-yosry.ahmed@linux.dev Link: https://lkml.kernel.org/r/20250129180633.3501650-2-yosry.ahmed@linux.dev Signed-off-by: Yosry Ahmed <yosry.ahmed@linux.dev> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Reviewed-by: Shakeel Butt <shakeel.butt@linux.dev> Acked-by: Nhat Pham <nphamcs@gmail.com> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Chengming Zhou <chengming.zhou@linux.dev> Cc: Christian Borntraeger <borntraeger@linux.ibm.com> Cc: Dan Streetman <ddstreet@ieee.org> Cc: Heiko Carstens <hca@linux.ibm.com> Cc: Huacai Chen <chenhuacai@kernel.org> Cc: Miaohe Lin <linmiaohe@huawei.com> Cc: Seth Jennings <sjenning@redhat.com> Cc: Sven Schnelle <svens@linux.ibm.com> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Vitaly Wool <vitaly.wool@konsulko.com> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: WANG Xuerui <kernel@xen0n.name> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
350dce38eb
commit
58ba73e521
9 changed files with 1 additions and 1545 deletions
1
CREDITS
1
CREDITS
|
|
@ -4311,6 +4311,7 @@ S: England
|
|||
N: Vitaly Wool
|
||||
E: vitaly.wool@konsulko.com
|
||||
D: Maintenance and development of zswap
|
||||
D: Maintenance and development of z3fold
|
||||
|
||||
N: Chris Wright
|
||||
E: chrisw@sous-sol.org
|
||||
|
|
|
|||
|
|
@ -62,5 +62,4 @@ documentation, or deleted if it has served its purpose.
|
|||
unevictable-lru
|
||||
vmalloced-kernel-stacks
|
||||
vmemmap_dedup
|
||||
z3fold
|
||||
zsmalloc
|
||||
|
|
|
|||
|
|
@ -1,28 +0,0 @@
|
|||
======
|
||||
z3fold
|
||||
======
|
||||
|
||||
z3fold is 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 which allows for higher compression
|
||||
ratio keeping the simplicity and determinism of its predecessor.
|
||||
|
||||
The main differences between z3fold and zbud are:
|
||||
|
||||
* unlike zbud, z3fold allows for up to PAGE_SIZE allocations
|
||||
* z3fold can hold up to 3 compressed pages in its page
|
||||
* z3fold doesn't export any API itself and is thus intended to be used
|
||||
via the zpool API.
|
||||
|
||||
To keep the determinism and simplicity, z3fold, just like zbud, always
|
||||
stores an integral number of compressed pages per page, but it can store
|
||||
up to 3 pages unlike zbud which can store at most 2. Therefore the
|
||||
compression ratio goes to around 2.7x while zbud's one is around 1.7x.
|
||||
|
||||
Unlike zbud (but like zsmalloc for that matter) z3fold_alloc() does not
|
||||
return a dereferenceable pointer. Instead, it returns an unsigned long
|
||||
handle which encodes actual location of the allocated object.
|
||||
|
||||
Keeping effective compression ratio close to zsmalloc's, z3fold doesn't
|
||||
depend on MMU enabled and provides more predictable reclaim behavior
|
||||
which makes it a better fit for small and response-critical systems.
|
||||
|
|
@ -58,7 +58,6 @@ Linux内存管理文档
|
|||
remap_file_pages
|
||||
split_page_table_lock
|
||||
vmalloced-kernel-stacks
|
||||
z3fold
|
||||
zsmalloc
|
||||
|
||||
TODOLIST:
|
||||
|
|
|
|||
|
|
@ -1,31 +0,0 @@
|
|||
:Original: Documentation/mm/z3fold.rst
|
||||
|
||||
:翻译:
|
||||
|
||||
司延腾 Yanteng Si <siyanteng@loongson.cn>
|
||||
|
||||
:校译:
|
||||
|
||||
|
||||
======
|
||||
z3fold
|
||||
======
|
||||
|
||||
z3fold是一个专门用于存储压缩页的分配器。它被设计为每个物理页最多可以存储三个压缩页。
|
||||
它是zbud的衍生物,允许更高的压缩率,保持其前辈的简单性和确定性。
|
||||
|
||||
z3fold和zbud的主要区别是:
|
||||
|
||||
* 与zbud不同的是,z3fold允许最大的PAGE_SIZE分配。
|
||||
* z3fold在其页面中最多可以容纳3个压缩页面
|
||||
* z3fold本身没有输出任何API,因此打算通过zpool的API来使用
|
||||
|
||||
为了保持确定性和简单性,z3fold,就像zbud一样,总是在每页存储一个整数的压缩页,但是
|
||||
它最多可以存储3页,不像zbud最多可以存储2页。因此压缩率达到2.7倍左右,而zbud的压缩
|
||||
率是1.7倍左右。
|
||||
|
||||
不像zbud(但也像zsmalloc),z3fold_alloc()那样不返回一个可重复引用的指针。相反,它
|
||||
返回一个无符号长句柄,它编码了被分配对象的实际位置。
|
||||
|
||||
保持有效的压缩率接近于zsmalloc,z3fold不依赖于MMU的启用,并提供更可预测的回收行
|
||||
为,这使得它更适合于小型和反应迅速的系统。
|
||||
|
|
@ -26181,13 +26181,6 @@ S: Maintained
|
|||
F: Documentation/input/devices/yealink.rst
|
||||
F: drivers/input/misc/yealink.*
|
||||
|
||||
Z3FOLD COMPRESSED PAGE ALLOCATOR
|
||||
M: Vitaly Wool <vitaly.wool@konsulko.com>
|
||||
R: Miaohe Lin <linmiaohe@huawei.com>
|
||||
L: linux-mm@kvack.org
|
||||
S: Maintained
|
||||
F: mm/z3fold.c
|
||||
|
||||
Z8530 DRIVER FOR AX.25
|
||||
M: Joerg Reuter <jreuter@yaina.de>
|
||||
L: linux-hams@vger.kernel.org
|
||||
|
|
|
|||
29
mm/Kconfig
29
mm/Kconfig
|
|
@ -146,15 +146,6 @@ config ZSWAP_ZPOOL_DEFAULT_ZBUD
|
|||
help
|
||||
Use the zbud allocator as the default allocator.
|
||||
|
||||
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
|
||||
|
|
@ -166,7 +157,6 @@ config ZSWAP_ZPOOL_DEFAULT
|
|||
string
|
||||
depends on ZSWAP
|
||||
default "zbud" if ZSWAP_ZPOOL_DEFAULT_ZBUD
|
||||
default "z3fold" if ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED
|
||||
default "zsmalloc" if ZSWAP_ZPOOL_DEFAULT_ZSMALLOC
|
||||
default ""
|
||||
|
||||
|
|
@ -180,25 +170,6 @@ config ZBUD
|
|||
deterministic reclaim properties that make it preferable to a higher
|
||||
density approach when reclaim will be used.
|
||||
|
||||
config Z3FOLD_DEPRECATED
|
||||
tristate "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 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 three compressed pages per physical
|
||||
page. It is a ZBUD derivative so the simplicity and determinism are
|
||||
still there.
|
||||
|
||||
config Z3FOLD
|
||||
tristate
|
||||
default y if Z3FOLD_DEPRECATED=y
|
||||
default m if Z3FOLD_DEPRECATED=m
|
||||
depends on Z3FOLD_DEPRECATED
|
||||
|
||||
config ZSMALLOC
|
||||
tristate
|
||||
prompt "N:1 compression allocator (zsmalloc)" if (ZSWAP || ZRAM)
|
||||
|
|
|
|||
|
|
@ -115,7 +115,6 @@ obj-$(CONFIG_MEMORY_ISOLATION) += page_isolation.o
|
|||
obj-$(CONFIG_ZPOOL) += zpool.o
|
||||
obj-$(CONFIG_ZBUD) += zbud.o
|
||||
obj-$(CONFIG_ZSMALLOC) += zsmalloc.o
|
||||
obj-$(CONFIG_Z3FOLD) += z3fold.o
|
||||
obj-$(CONFIG_GENERIC_EARLY_IOREMAP) += early_ioremap.o
|
||||
obj-$(CONFIG_CMA) += cma.o
|
||||
obj-$(CONFIG_NUMA) += numa.o
|
||||
|
|
|
|||
1447
mm/z3fold.c
1447
mm/z3fold.c
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue