Centos-kernel-stream-9/lib/zstd
Neal Gompa bc35b39aed lib: zstd: Don't add -O3 to cflags
Bugzilla: http://bugzilla.redhat.com/2034834

commit 7416cdc9b9c10968c57b1f73be5d48b3ecdaf3c8
Author: Nick Terrell <terrelln@fb.com>
Date:   Tue Nov 16 15:11:39 2021 -0800

    lib: zstd: Don't add -O3 to cflags

    After the update to zstd-1.4.10 passing -O3 is no longer necessary to
    get good performance from zstd. Using the default optimization level -O2
    is sufficient to get good performance.

    I've measured no significant change to compression speed, and a ~1%
    decompression speed loss, which is acceptable.

    This fixes the reported parisc -Wframe-larger-than=1536 errors [0]. The
    gcc-8-hppa-linux-gnu compiler performed very poorly with -O3, generating
    stacks that are ~3KB. With -O2 these same functions generate stacks in
    the < 100B, completely fixing the problem. Function size deltas are
    listed below:

    ZSTD_compressBlock_fast_extDict_generic: 3800 -> 68
    ZSTD_compressBlock_fast: 2216 -> 40
    ZSTD_compressBlock_fast_dictMatchState: 1848 ->  64
    ZSTD_compressBlock_doubleFast_extDict_generic: 3744 -> 76
    ZSTD_fillDoubleHashTable: 3252 -> 0
    ZSTD_compressBlock_doubleFast: 5856 -> 36
    ZSTD_compressBlock_doubleFast_dictMatchState: 5380 -> 84
    ZSTD_copmressBlock_lazy2: 2420 -> 72

    Additionally, this improves the reported code bloat [1]. With gcc-11
    bloat-o-meter shows an 80KB code size improvement:

    ```
    > ../scripts/bloat-o-meter vmlinux.old vmlinux
    add/remove: 31/8 grow/shrink: 24/155 up/down: 25734/-107924 (-82190)
    Total: Before=6418562, After=6336372, chg -1.28%
    ```

    Compared to before the zstd-1.4.10 update we see a total code size
    regression of 105KB, down from 374KB at v5.16-rc1:

    ```
    > ../scripts/bloat-o-meter vmlinux.old vmlinux
    add/remove: 292/62 grow/shrink: 56/88 up/down: 235009/-127487 (107522)
    Total: Before=6228850, After=6336372, chg +1.73%
    ```

    [0] https://lkml.org/lkml/2021/11/15/710
    [1] https://lkml.org/lkml/2021/11/14/189

    Link: https://lore.kernel.org/r/20211117014949.1169186-4-nickrterrell@gmail.com/
    Link: https://lore.kernel.org/r/20211117201459.1194876-4-nickrterrell@gmail.com/

    Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Nick Terrell <terrelln@fb.com>

Signed-off-by: Neal Gompa <ngompa@centosproject.org>
2021-12-22 05:19:35 -05:00
..
common lib: zstd: Don't inline functions in zstd_opt.c 2021-12-22 05:19:35 -05:00
compress lib: zstd: Don't inline functions in zstd_opt.c 2021-12-22 05:19:35 -05:00
decompress lib: zstd: Add cast to silence clang's -Wbitwise-instead-of-logical 2021-12-22 05:19:35 -05:00
Makefile lib: zstd: Don't add -O3 to cflags 2021-12-22 05:19:35 -05:00
decompress_sources.h lib: zstd: Upgrade to latest upstream zstd version 1.4.10 2021-12-22 05:19:34 -05:00
zstd_compress_module.c lib: zstd: Upgrade to latest upstream zstd version 1.4.10 2021-12-22 05:19:34 -05:00
zstd_decompress_module.c lib: zstd: Upgrade to latest upstream zstd version 1.4.10 2021-12-22 05:19:34 -05:00