[PATCH 5/5] erofs-utils: change EROFS_TOF_HASHLEN to 64

Gao Xiang hsiangkao at linux.alibaba.com
Tue Jun 3 13:56:57 AEST 2025


The image build time of `-Efragments` will be greatly reduced.

Processors:   Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz (96 cores)
Memory:       384 GiB
Mkfs options: -zlzma,6 -Efragments -C1048576
 __________________________________________________________________________________
|______ Testset _____|________|_______ Vanilla _________|_________ After __________|
|  CoreOS            |  Size  |__ 660484096 (630 MiB) __|___ 660475904 (630 MiB) __|
|____________________|_ Time _|_______ 4m12.249s _______|_______ 1m49.828s ________|
|  Fedora KIWI       |  Size  |_ 2554892288 (2437 MiB) _|__ 2554793984 (2436 MiB) _|
|____________________|_ Time _|_______ 19m8.141s _______|_______ 6m22.378s ________|

It is now preferred to use `-Efragments` over `-Eall-fragments`, since
placing all data in the packed inode (`-Eall-fragments`) could introduce
some performance penalty.

Signed-off-by: Gao Xiang <hsiangkao at linux.alibaba.com>
---
 lib/fragments.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/fragments.c b/lib/fragments.c
index ce079af..1f24f70 100644
--- a/lib/fragments.c
+++ b/lib/fragments.c
@@ -31,7 +31,7 @@ struct erofs_fragmentitem {
 };
 
 #define EROFS_FRAGMENT_INMEM_SZ_MAX	(256 * 1024)
-#define EROFS_TOF_HASHLEN		16
+#define EROFS_TOF_HASHLEN		64
 
 #define FRAGMENT_HASHSIZE		65536
 #define FRAGMENT_HASH(c)		((c) & (FRAGMENT_HASHSIZE - 1))
-- 
2.43.5



More information about the Linux-erofs mailing list