original_kernel/lib/zstd/compress
Nick Terrell 2aa14b1ab2 zstd: import usptream v1.5.2
Updates the kernel's zstd library to v1.5.2, the latest zstd release.
The upstream tag it is updated to is `v1.5.2-kernel`, which contains
several cherry-picked commits on top of the v1.5.2 release which are
required for the kernel update. I will create this tag once the PR is
ready to merge, until then reference the temporary upstream branch
`v1.5.2-kernel-cherrypicks`.

I plan to submit this patch as part of the v6.2 merge window.

I've done basic build testing & testing on x86-64, i386, and aarch64.
I'm merging these patches into my `zstd-next` branch, which is pulled
into `linux-next` for further testing.

I've benchmarked BtrFS with zstd compression on a x86-64 machine, and
saw these results. Decompression speed is a small win across the board.
The lower compression levels 1-4 see both compression speed and
compression ratio wins. The higher compression levels see a small
compression speed loss and about neutral ratio. I expect the lower
compression levels to be used much more heavily than the high
compression levels, so this should be a net win.

Level	CTime	DTime	Ratio
1	-2.95%	-1.1%	-0.7%
3	-3.5%	-1.2%	-0.5%
5	+3.7%	-1.0%	+0.0%
7	+3.2%	-0.9%	+0.0%
9	-4.3%	-0.8%	+0.1%

Signed-off-by: Nick Terrell <terrelln@fb.com>
2022-10-24 12:12:32 -07:00
..
clevels.h
fse_compress.c
hist.c
hist.h
huf_compress.c
zstd_compress.c
zstd_compress_internal.h
zstd_compress_literals.c
zstd_compress_literals.h
zstd_compress_sequences.c
zstd_compress_sequences.h
zstd_compress_superblock.c
zstd_compress_superblock.h
zstd_cwksp.h
zstd_double_fast.c
zstd_double_fast.h
zstd_fast.c
zstd_fast.h
zstd_lazy.c
zstd_lazy.h
zstd_ldm.c
zstd_ldm.h
zstd_ldm_geartab.h
zstd_opt.c
zstd_opt.h