On Wed, Oct 31, 2018 at 11:11:08AM -0700, Nick Terrell wrote: > From: Jennifer Liu <jenniferliu...@fb.com> > > Adds zstd compression level support to btrfs. Zstd requires > different amounts of memory for each level, so the design had > to be modified to allow set_level() to allocate memory. We > preallocate one workspace of the maximum size to guarantee > forward progress. This feature is expected to be useful for > read-mostly filesystems, or when creating images. > > Benchmarks run in qemu on Intel x86 with a single core. > The benchmark measures the time to copy the Silesia corpus [0] to > a btrfs filesystem 10 times, then read it back. > > The two important things to note are: > - The decompression speed and memory remains constant. > The memory required to decompress is the same as level 1. > - The compression speed and ratio will vary based on the source. > > Level Ratio Compression Decompression Compression Memory > 1 2.59 153 MB/s 112 MB/s 0.8 MB > 2 2.67 136 MB/s 113 MB/s 1.0 MB > 3 2.72 106 MB/s 115 MB/s 1.3 MB > 4 2.78 86 MB/s 109 MB/s 0.9 MB > 5 2.83 69 MB/s 109 MB/s 1.4 MB > 6 2.89 53 MB/s 110 MB/s 1.5 MB > 7 2.91 40 MB/s 112 MB/s 1.4 MB > 8 2.92 34 MB/s 110 MB/s 1.8 MB > 9 2.93 27 MB/s 109 MB/s 1.8 MB > 10 2.94 22 MB/s 109 MB/s 1.8 MB > 11 2.95 17 MB/s 114 MB/s 1.8 MB > 12 2.95 13 MB/s 113 MB/s 1.8 MB > 13 2.95 10 MB/s 111 MB/s 2.3 MB > 14 2.99 7 MB/s 110 MB/s 2.6 MB > 15 3.03 6 MB/s 110 MB/s 2.6 MB > > [0] http://sun.aei.polsl.pl/~sdeor/index.php?page=silesia > > Signed-off-by: Jennifer Liu <jenniferliu...@fb.com> > Signed-off-by: Nick Terrell <terre...@fb.com> > Reviewed-by: Omar Sandoval <osan...@fb.com>
Please split the patch to a series where each patch does one logical thing.