linux-crypto.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
  • * [PATCH v2 0/4] Update LZ4 compressor module
           [not found] <1482259992-16680-1-git-send-email-4sschmid@informatik.uni-hamburg.de>
           [not found] ` <1482259992-16680-2-git-send-email-4sschmid@informatik.uni-hamburg.de>
    @ 2017-01-07 16:55 ` Sven Schmidt
      2017-01-07 16:55   ` [PATCH v2 1/4] lib: Update LZ4 compressor module based on LZ4 v1.7.2 Sven Schmidt
                         ` (3 more replies)
      2017-01-21 15:09 ` [PATCH v3 0/4] Update LZ4 compressor module Sven Schmidt
                       ` (5 subsequent siblings)
      7 siblings, 4 replies; 84+ messages in thread
    From: Sven Schmidt @ 2017-01-07 16:55 UTC (permalink / raw)
      To: akpm
      Cc: bongkyu.kim, rsalvaterra, sergey.senozhatsky, gregkh,
    	linux-kernel, herbert, davem, linux-crypto, anton, ccross,
    	keescook, tony.luck, phillip
    
    
    This patchset is for updating the LZ4 compression module to a version based
    on LZ4 v1.7.2 allowing to use the fast compression algorithm aka LZ4 fast
    which provides an "acceleration" parameter as a tradeoff between
    high compression ratio and high compression speed.
    
    We want to use LZ4 fast in order to support compression in lustre
    and (mostly, based on that) investigate data reduction techniques in behalf of
    storage systems.
    
    Also, it will be useful for other users of LZ4 compression, as with LZ4 fast
    it is possible to enable applications to use fast and/or high compression
    depending on the usecase.
    For instance, ZRAM is offering a LZ4 backend and could benefit from an updated
    LZ4 in the kernel.
    
    LZ4 homepage: http://www.lz4.org/
    LZ4 source repository: https://github.com/lz4/lz4
    Source version: 1.7.2
    
    Benchmark (taken from [1], Core i5-4300U @1.9GHz):
    ----------------|--------------|----------------|----------
    Compressor      | Compression  | Decompression  | Ratio
    ----------------|--------------|----------------|----------
    memcpy          |  4200 MB/s   |  4200 MB/s     | 1.000
    LZ4 fast 50     |  1080 MB/s   |  2650 MB/s     | 1.375
    LZ4 fast 17     |   680 MB/s   |  2220 MB/s     | 1.607
    LZ4 fast 5      |   475 MB/s   |  1920 MB/s     | 1.886
    LZ4 default     |   385 MB/s   |  1850 MB/s     | 2.101
    
    [1] http://fastcompression.blogspot.de/2015/04/sampling-or-faster-lz4.html
    
    [PATCHv2 1/4] lib: Update LZ4  compressor module based on LZ4 v1.7.2
    [PATCHv2 2/4] lib: Update decompress_unlz4 wrapper to work with new LZ4 module
    [PATCHv2 3/4] crypto: Change lz4 modules to work with new LZ4 module
    [PATCHv2 4/4] fs/pstore: fs/squashfs: Change LZ4 compressor functions to work with new LZ4 module
    
    v2:
    - Changed order of the patches since in the initial patchset the lz4.h was in the
      last patch but was referenced by the other ones
    - Split lib/decompress_unlz4.c in an own patch
    - Fixed errors reported by the buildbot
    - Further refactorings
    - Added more appropriate copyright note to include/linux/lz4.h
    
    ^ permalink raw reply	[flat|nested] 84+ messages in thread
  • * [PATCH v3 0/4] Update LZ4 compressor module
           [not found] <1482259992-16680-1-git-send-email-4sschmid@informatik.uni-hamburg.de>
           [not found] ` <1482259992-16680-2-git-send-email-4sschmid@informatik.uni-hamburg.de>
      2017-01-07 16:55 ` [PATCH v2 0/4] Update LZ4 compressor module Sven Schmidt
    @ 2017-01-21 15:09 ` Sven Schmidt
      2017-01-21 15:09   ` [PATCH 1/4] lib: " Sven Schmidt
                         ` (3 more replies)
      2017-01-22 19:35 ` [PATCH v4 0/4] Update LZ4 compressor module Sven Schmidt
                       ` (4 subsequent siblings)
      7 siblings, 4 replies; 84+ messages in thread
    From: Sven Schmidt @ 2017-01-21 15:09 UTC (permalink / raw)
      To: akpm
      Cc: bongkyu.kim, rsalvaterra, sergey.senozhatsky, gregkh,
    	linux-kernel, herbert, davem, linux-crypto, anton, ccross,
    	keescook, tony.luck, phillip
    
    
    This patchset is for updating the LZ4 compression module to a version based
    on LZ4 v1.7.3 allowing to use the fast compression algorithm aka LZ4 fast
    which provides an "acceleration" parameter as a tradeoff between
    high compression ratio and high compression speed.
    
    We want to use LZ4 fast in order to support compression in lustre
    and (mostly, based on that) investigate data reduction techniques in behalf of
    storage systems.
    
    Also, it will be useful for other users of LZ4 compression, as with LZ4 fast
    it is possible to enable applications to use fast and/or high compression
    depending on the usecase.
    For instance, ZRAM is offering a LZ4 backend and could benefit from an updated
    LZ4 in the kernel.
    
    LZ4 homepage: http://www.lz4.org/
    LZ4 source repository: https://github.com/lz4/lz4
    Source version: 1.7.3
    
    Benchmark (taken from [1], Core i5-4300U @1.9GHz):
    ----------------|--------------|----------------|----------
    Compressor      | Compression  | Decompression  | Ratio
    ----------------|--------------|----------------|----------
    memcpy          |  4200 MB/s   |  4200 MB/s     | 1.000
    LZ4 fast 50     |  1080 MB/s   |  2650 MB/s     | 1.375
    LZ4 fast 17     |   680 MB/s   |  2220 MB/s     | 1.607
    LZ4 fast 5      |   475 MB/s   |  1920 MB/s     | 1.886
    LZ4 default     |   385 MB/s   |  1850 MB/s     | 2.101
    
    [1] http://fastcompression.blogspot.de/2015/04/sampling-or-faster-lz4.html
    
    [PATCHv2 1/4] lib: Update LZ4  compressor module based on LZ4 v1.7.2
    [PATCHv2 2/4] lib: Update decompress_unlz4 wrapper to work with new LZ4 module
    [PATCHv2 3/4] crypto: Change lz4 modules to work with new LZ4 module
    [PATCHv2 4/4] fs/pstore: fs/squashfs: Change LZ4 compressor functions to work with new LZ4 module
    
    v2:
    - Changed order of the patches since in the initial patchset the lz4.h was in the
      last patch but was referenced by the other ones
    - Split lib/decompress_unlz4.c in an own patch
    - Fixed errors reported by the buildbot
    - Further refactorings
    - Added more appropriate copyright note to include/linux/lz4.h
    
    v3:
    - Adjusted the code to satisfy kernel coding style (checkpatch.pl)
    - Made sure the changes to LZ4 in Kernel (overflow checks etc.)
    are included in the new module (they are)
    - Removed the second LZ4_compressBound function with related name but
    different return type
    - Corrected version number (was LZ4 1.7.3)
    
    ^ permalink raw reply	[flat|nested] 84+ messages in thread
  • * [PATCH v4 0/4] Update LZ4 compressor module
           [not found] <1482259992-16680-1-git-send-email-4sschmid@informatik.uni-hamburg.de>
                       ` (2 preceding siblings ...)
      2017-01-21 15:09 ` [PATCH v3 0/4] Update LZ4 compressor module Sven Schmidt
    @ 2017-01-22 19:35 ` Sven Schmidt
      2017-01-22 19:35   ` [PATCH v4 1/4] lib: " Sven Schmidt
                         ` (3 more replies)
      2017-01-26  7:57 ` [PATCH v5 0/5] Update LZ4 compressor module Sven Schmidt
                       ` (3 subsequent siblings)
      7 siblings, 4 replies; 84+ messages in thread
    From: Sven Schmidt @ 2017-01-22 19:35 UTC (permalink / raw)
      To: akpm
      Cc: bongkyu.kim, rsalvaterra, sergey.senozhatsky, gregkh,
    	linux-kernel, herbert, davem, linux-crypto, anton, ccross,
    	keescook, tony.luck, phillip
    
    
    This patchset is for updating the LZ4 compression module to a version based
    on LZ4 v1.7.3 allowing to use the fast compression algorithm aka LZ4 fast
    which provides an "acceleration" parameter as a tradeoff between
    high compression ratio and high compression speed.
    
    We want to use LZ4 fast in order to support compression in lustre
    and (mostly, based on that) investigate data reduction techniques in behalf of
    storage systems.
    
    Also, it will be useful for other users of LZ4 compression, as with LZ4 fast
    it is possible to enable applications to use fast and/or high compression
    depending on the usecase.
    For instance, ZRAM is offering a LZ4 backend and could benefit from an updated
    LZ4 in the kernel.
    
    LZ4 homepage: http://www.lz4.org/
    LZ4 source repository: https://github.com/lz4/lz4
    Source version: 1.7.3
    
    Benchmark (taken from [1], Core i5-4300U @1.9GHz):
    ----------------|--------------|----------------|----------
    Compressor      | Compression  | Decompression  | Ratio
    ----------------|--------------|----------------|----------
    memcpy          |  4200 MB/s   |  4200 MB/s     | 1.000
    LZ4 fast 50     |  1080 MB/s   |  2650 MB/s     | 1.375
    LZ4 fast 17     |   680 MB/s   |  2220 MB/s     | 1.607
    LZ4 fast 5      |   475 MB/s   |  1920 MB/s     | 1.886
    LZ4 default     |   385 MB/s   |  1850 MB/s     | 2.101
    
    [1] http://fastcompression.blogspot.de/2015/04/sampling-or-faster-lz4.html
    fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version
    
    [PATCH 1/4] lib: Update LZ4 compressor module
    [PATCH 2/4] lib/decompress_unlz4: Change module to work with new LZ4 module version
    [PATCH 3/4] crypto: Change LZ4 modules to work with new LZ4 module version
    [PATCH 4/4] fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version
    
    v2:
    - Changed order of the patches since in the initial patchset the lz4.h was in the
      last patch but was referenced by the other ones
    - Split lib/decompress_unlz4.c in an own patch
    - Fixed errors reported by the buildbot
    - Further refactorings
    - Added more appropriate copyright note to include/linux/lz4.h
    
    v3:
    - Adjusted the code to satisfy kernel coding style (checkpatch.pl)
    - Made sure the changes to LZ4 in Kernel (overflow checks etc.)
      are included in the new module (they are)
    - Removed the second LZ4_compressBound function with related name but
      different return type
    - Corrected version number (was LZ4 1.7.3)
    - Added missing LZ4 streaming functions
    
    v4:
    - Fixed kbuild errors
    - Re-added lz4_compressbound as alias for LZ4_compressBound
      to ensure backwards compatibility
    - Wrapped LZ4_hash5 with check for LZ4_ARCH64 since it is only used there
      and triggers an unused function warning when false
    
    ^ permalink raw reply	[flat|nested] 84+ messages in thread
  • * [PATCH v5 0/5] Update LZ4 compressor module
           [not found] <1482259992-16680-1-git-send-email-4sschmid@informatik.uni-hamburg.de>
                       ` (3 preceding siblings ...)
      2017-01-22 19:35 ` [PATCH v4 0/4] Update LZ4 compressor module Sven Schmidt
    @ 2017-01-26  7:57 ` Sven Schmidt
      2017-01-26  7:57   ` [PATCH v5 1/5] lib: " Sven Schmidt
                         ` (5 more replies)
      2017-01-27 22:01 ` [PATCH v6 " Sven Schmidt
                       ` (2 subsequent siblings)
      7 siblings, 6 replies; 84+ messages in thread
    From: Sven Schmidt @ 2017-01-26  7:57 UTC (permalink / raw)
      To: akpm
      Cc: bongkyu.kim, rsalvaterra, sergey.senozhatsky, gregkh,
    	linux-kernel, herbert, davem, linux-crypto, anton, ccross,
    	keescook, tony.luck
    
    
    This patchset is for updating the LZ4 compression module to a version based
    on LZ4 v1.7.3 allowing to use the fast compression algorithm aka LZ4 fast
    which provides an "acceleration" parameter as a tradeoff between
    high compression ratio and high compression speed.
    
    We want to use LZ4 fast in order to support compression in lustre
    and (mostly, based on that) investigate data reduction techniques in behalf of
    storage systems.
    
    Also, it will be useful for other users of LZ4 compression, as with LZ4 fast
    it is possible to enable applications to use fast and/or high compression
    depending on the usecase.
    For instance, ZRAM is offering a LZ4 backend and could benefit from an updated
    LZ4 in the kernel.
    
    LZ4 homepage: http://www.lz4.org/
    LZ4 source repository: https://github.com/lz4/lz4
    Source version: 1.7.3
    
    Benchmark (taken from [1], Core i5-4300U @1.9GHz):
    ----------------|--------------|----------------|----------
    Compressor      | Compression  | Decompression  | Ratio
    ----------------|--------------|----------------|----------
    memcpy          |  4200 MB/s   |  4200 MB/s     | 1.000
    LZ4 fast 50     |  1080 MB/s   |  2650 MB/s     | 1.375
    LZ4 fast 17     |   680 MB/s   |  2220 MB/s     | 1.607
    LZ4 fast 5      |   475 MB/s   |  1920 MB/s     | 1.886
    LZ4 default     |   385 MB/s   |  1850 MB/s     | 2.101
    
    [1] http://fastcompression.blogspot.de/2015/04/sampling-or-faster-lz4.html
    fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version
    
    [PATCH 1/5] lib: Update LZ4 compressor module
    [PATCH 2/5] lib/decompress_unlz4: Change module to work with new LZ4 module version
    [PATCH 3/5] crypto: Change LZ4 modules to work with new LZ4 module version
    [PATCH 4/5] fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version
    [PATCH 5/5] lib/lz4: Remove back-compat wrappers
    
    v2:
    - Changed order of the patches since in the initial patchset the lz4.h was in the
      last patch but was referenced by the other ones
    - Split lib/decompress_unlz4.c in an own patch
    - Fixed errors reported by the buildbot
    - Further refactorings
    - Added more appropriate copyright note to include/linux/lz4.h
    
    v3:
    - Adjusted the code to satisfy kernel coding style (checkpatch.pl)
    - Made sure the changes to LZ4 in Kernel (overflow checks etc.)
      are included in the new module (they are)
    - Removed the second LZ4_compressBound function with related name but
      different return type
    - Corrected version number (was LZ4 1.7.3)
    - Added missing LZ4 streaming functions
    
    v4:
    - Fixed kbuild errors
    - Re-added lz4_compressbound as alias for LZ4_compressBound
      to ensure backwards compatibility
    - Wrapped LZ4_hash5 with check for LZ4_ARCH64 since it is only used there
      and triggers an unused function warning when false
    
    v5:
    - Added a fifth patch to remove the back-compat wrappers introduced
      to ensure bisectibility between the patches (the functions are no longer
      needed since there's no callers left)
    
    ^ permalink raw reply	[flat|nested] 84+ messages in thread
  • * [PATCH v6 0/5] Update LZ4 compressor module
           [not found] <1482259992-16680-1-git-send-email-4sschmid@informatik.uni-hamburg.de>
                       ` (4 preceding siblings ...)
      2017-01-26  7:57 ` [PATCH v5 0/5] Update LZ4 compressor module Sven Schmidt
    @ 2017-01-27 22:01 ` Sven Schmidt
      2017-01-27 22:02   ` [PATCH v6 1/5] lib: " Sven Schmidt
                         ` (4 more replies)
      2017-02-05 19:09 ` [PATCH v7 0/5] Update LZ4 compressor module Sven Schmidt
      2017-02-15 18:16 ` [PATCH v8 " Sven Schmidt
      7 siblings, 5 replies; 84+ messages in thread
    From: Sven Schmidt @ 2017-01-27 22:01 UTC (permalink / raw)
      To: akpm
      Cc: bongkyu.kim, rsalvaterra, sergey.senozhatsky, gregkh,
    	linux-kernel, herbert, davem, linux-crypto, anton, ccross,
    	keescook, tony.luck
    
    
    This patchset is for updating the LZ4 compression module to a version based
    on LZ4 v1.7.3 allowing to use the fast compression algorithm aka LZ4 fast
    which provides an "acceleration" parameter as a tradeoff between
    high compression ratio and high compression speed.
    
    We want to use LZ4 fast in order to support compression in lustre
    and (mostly, based on that) investigate data reduction techniques in behalf of
    storage systems.
    
    Also, it will be useful for other users of LZ4 compression, as with LZ4 fast
    it is possible to enable applications to use fast and/or high compression
    depending on the usecase.
    For instance, ZRAM is offering a LZ4 backend and could benefit from an updated
    LZ4 in the kernel.
    
    LZ4 homepage: http://www.lz4.org/
    LZ4 source repository: https://github.com/lz4/lz4
    Source version: 1.7.3
    
    Benchmark (taken from [1], Core i5-4300U @1.9GHz):
    ----------------|--------------|----------------|----------
    Compressor      | Compression  | Decompression  | Ratio
    ----------------|--------------|----------------|----------
    memcpy          |  4200 MB/s   |  4200 MB/s     | 1.000
    LZ4 fast 50     |  1080 MB/s   |  2650 MB/s     | 1.375
    LZ4 fast 17     |   680 MB/s   |  2220 MB/s     | 1.607
    LZ4 fast 5      |   475 MB/s   |  1920 MB/s     | 1.886
    LZ4 default     |   385 MB/s   |  1850 MB/s     | 2.101
    
    [1] http://fastcompression.blogspot.de/2015/04/sampling-or-faster-lz4.html
    fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version
    
    [PATCH 1/5] lib: Update LZ4 compressor module
    [PATCH 2/5] lib/decompress_unlz4: Change module to work with new LZ4 module version
    [PATCH 3/5] crypto: Change LZ4 modules to work with new LZ4 module version
    [PATCH 4/5] fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version
    [PATCH 5/5] lib/lz4: Remove back-compat wrappers
    
    v2:
    - Changed order of the patches since in the initial patchset the lz4.h was in the
      last patch but was referenced by the other ones
    - Split lib/decompress_unlz4.c in an own patch
    - Fixed errors reported by the buildbot
    - Further refactorings
    - Added more appropriate copyright note to include/linux/lz4.h
    
    v3:
    - Adjusted the code to satisfy kernel coding style (checkpatch.pl)
    - Made sure the changes to LZ4 in Kernel (overflow checks etc.)
      are included in the new module (they are)
    - Removed the second LZ4_compressBound function with related name but
      different return type
    - Corrected version number (was LZ4 1.7.3)
    - Added missing LZ4 streaming functions
    
    v4:
    - Fixed kbuild errors
    - Re-added lz4_compressbound as alias for LZ4_compressBound
      to ensure backwards compatibility
    - Wrapped LZ4_hash5 with check for LZ4_ARCH64 since it is only used there
      and triggers an unused function warning when false
    
    v5:
    - Added a fifth patch to remove the back-compat wrappers introduced
      to ensure bisectibility between the patches (the functions are no longer
      needed since there's no callers left)
    
    v6:
    - Fixed LZ4_NBCOMMONBYTES() for 64-bit little endian
    - Reset LZ4_MEMORY_USAGE to 14 (which is the value used in
      upstream LZ4 as well as the previous kernel module)
    - Fixed that weird double-indentation in lz4defs.h and lz4.h
    - Adjusted general styling issues in lz4defs.h
      (e.g. lines consisting of more than one instruction)
    - Removed the architecture-dependent typedef to reg_t
      since upstream LZ4 is just using size_t and that works fine
    - Changed error messages in pstore/platform.c:
      * LZ4_compress_default always returns 0 in case of an error
        (no need to print the return value)
      * LZ4_decompress_safe returns a negative error message
        (return value _does_ matter)
    
    ^ permalink raw reply	[flat|nested] 84+ messages in thread
  • * [PATCH v7 0/5] Update LZ4 compressor module
           [not found] <1482259992-16680-1-git-send-email-4sschmid@informatik.uni-hamburg.de>
                       ` (5 preceding siblings ...)
      2017-01-27 22:01 ` [PATCH v6 " Sven Schmidt
    @ 2017-02-05 19:09 ` Sven Schmidt
      2017-02-05 19:09   ` [PATCH v7 1/5] lib: " Sven Schmidt
                         ` (5 more replies)
      2017-02-15 18:16 ` [PATCH v8 " Sven Schmidt
      7 siblings, 6 replies; 84+ messages in thread
    From: Sven Schmidt @ 2017-02-05 19:09 UTC (permalink / raw)
      To: akpm
      Cc: bongkyu.kim, rsalvaterra, sergey.senozhatsky, gregkh,
    	linux-kernel, herbert, davem, linux-crypto, anton, ccross,
    	keescook, tony.luck
    
    
    This patchset is for updating the LZ4 compression module to a version based
    on LZ4 v1.7.3 allowing to use the fast compression algorithm aka LZ4 fast
    which provides an "acceleration" parameter as a tradeoff between
    high compression ratio and high compression speed.
    
    We want to use LZ4 fast in order to support compression in lustre
    and (mostly, based on that) investigate data reduction techniques in behalf of
    storage systems.
    
    Also, it will be useful for other users of LZ4 compression, as with LZ4 fast
    it is possible to enable applications to use fast and/or high compression
    depending on the usecase.
    For instance, ZRAM is offering a LZ4 backend and could benefit from an updated
    LZ4 in the kernel.
    
    LZ4 homepage: http://www.lz4.org/
    LZ4 source repository: https://github.com/lz4/lz4
    Source version: 1.7.3
    
    Benchmark (taken from [1], Core i5-4300U @1.9GHz):
    ----------------|--------------|----------------|----------
    Compressor      | Compression  | Decompression  | Ratio
    ----------------|--------------|----------------|----------
    memcpy          |  4200 MB/s   |  4200 MB/s     | 1.000
    LZ4 fast 50     |  1080 MB/s   |  2650 MB/s     | 1.375
    LZ4 fast 17     |   680 MB/s   |  2220 MB/s     | 1.607
    LZ4 fast 5      |   475 MB/s   |  1920 MB/s     | 1.886
    LZ4 default     |   385 MB/s   |  1850 MB/s     | 2.101
    
    [1] http://fastcompression.blogspot.de/2015/04/sampling-or-faster-lz4.html
    
    [PATCH 1/5] lib: Update LZ4 compressor module
    [PATCH 2/5] lib/decompress_unlz4: Change module to work with new LZ4 module version
    [PATCH 3/5] crypto: Change LZ4 modules to work with new LZ4 module version
    [PATCH 4/5] fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version
    [PATCH 5/5] lib/lz4: Remove back-compat wrappers
    
    Changes:
    v7:
    - Fixed errors reported by the Smatch tool
    - Changed function documentation comments in lz4.h to match kernel-doc style
    - Fixed a misbehaviour of LZ4HC caused by the wrong level of indentation
      concerning two for loops introduced after I refactored the code style using
      checkpatch.pl (upstream LZ4 put dozens of stuff in just one line, gnah)
    - Updated the crypto tests for LZ4 since they did fail for the new code
      and hence zram did fail to allocate memory for LZ4
    
    v6:
    - Fixed LZ4_NBCOMMONBYTES() for 64-bit little endian
    - Reset LZ4_MEMORY_USAGE to 14 (which is the value used in
      upstream LZ4 as well as the previous kernel module)
    - Fixed that weird double-indentation in lz4defs.h and lz4.h
    - Adjusted general styling issues in lz4defs.h
      (e.g. lines consisting of more than one instruction)
    - Removed the architecture-dependent typedef to reg_t
      since upstream LZ4 is just using size_t and that works fine
    - Changed error messages in pstore/platform.c:
      * LZ4_compress_default always returns 0 in case of an error
        (no need to print the return value)
      * LZ4_decompress_safe returns a negative error message
        (return value _does_ matter)
    
    v5:
    - Added a fifth patch to remove the back-compat wrappers introduced
      to ensure bisectibility between the patches (the functions are no longer
      needed since there's no callers left)
    
    v4:
    - Fixed kbuild errors
    - Re-added lz4_compressbound as alias for LZ4_compressBound
      to ensure backwards compatibility
    - Wrapped LZ4_hash5 with check for LZ4_ARCH64 since it is only used there
      and triggers an unused function warning when false
    
    v3:
    - Adjusted the code to satisfy kernel coding style (checkpatch.pl)
    - Made sure the changes to LZ4 in Kernel (overflow checks etc.)
      are included in the new module (they are)
    - Removed the second LZ4_compressBound function with related name but
      different return type
    - Corrected version number (was LZ4 1.7.3)
    - Added missing LZ4 streaming functions
    
    v2:
    - Changed order of the patches since in the initial patchset the lz4.h was in the
      last patch but was referenced by the other ones
    - Split lib/decompress_unlz4.c in an own patch
    - Fixed errors reported by the buildbot
    - Further refactorings
    - Added more appropriate copyright note to include/linux/lz4.h
    
    ^ permalink raw reply	[flat|nested] 84+ messages in thread
  • * [PATCH v8 0/5] Update LZ4 compressor module
           [not found] <1482259992-16680-1-git-send-email-4sschmid@informatik.uni-hamburg.de>
                       ` (6 preceding siblings ...)
      2017-02-05 19:09 ` [PATCH v7 0/5] Update LZ4 compressor module Sven Schmidt
    @ 2017-02-15 18:16 ` Sven Schmidt
      2017-02-15 18:16   ` [PATCH v8 1/5] lib: " Sven Schmidt
                         ` (4 more replies)
      7 siblings, 5 replies; 84+ messages in thread
    From: Sven Schmidt @ 2017-02-15 18:16 UTC (permalink / raw)
      To: akpm
      Cc: bongkyu.kim, rsalvaterra, sergey.senozhatsky, gregkh,
    	linux-kernel, herbert, davem, linux-crypto, anton, ccross,
    	keescook, tony.luck
    
    
    This patchset is for updating the LZ4 compression module to a version based
    on LZ4 v1.7.3 allowing to use the fast compression algorithm aka LZ4 fast
    which provides an "acceleration" parameter as a tradeoff between
    high compression ratio and high compression speed.
    
    We want to use LZ4 fast in order to support compression in lustre
    and (mostly, based on that) investigate data reduction techniques in behalf of
    storage systems.
    
    Also, it will be useful for other users of LZ4 compression, as with LZ4 fast
    it is possible to enable applications to use fast and/or high compression
    depending on the usecase.
    For instance, ZRAM is offering a LZ4 backend and could benefit from an updated
    LZ4 in the kernel.
    
    LZ4 homepage: http://www.lz4.org/
    LZ4 source repository: https://github.com/lz4/lz4
    Source version: 1.7.3
    
    Benchmark (taken from [1], Core i5-4300U @1.9GHz):
    ----------------|--------------|----------------|----------
    Compressor      | Compression  | Decompression  | Ratio
    ----------------|--------------|----------------|----------
    memcpy          |  4200 MB/s   |  4200 MB/s     | 1.000
    LZ4 fast 50     |  1080 MB/s   |  2650 MB/s     | 1.375
    LZ4 fast 17     |   680 MB/s   |  2220 MB/s     | 1.607
    LZ4 fast 5      |   475 MB/s   |  1920 MB/s     | 1.886
    LZ4 default     |   385 MB/s   |  1850 MB/s     | 2.101
    
    [1] http://fastcompression.blogspot.de/2015/04/sampling-or-faster-lz4.html
    
    [PATCH 1/5] lib: Update LZ4 compressor module
    [PATCH 2/5] lib/decompress_unlz4: Change module to work with new LZ4 module version
    [PATCH 3/5] crypto: Change LZ4 modules to work with new LZ4 module version
    [PATCH 4/5] fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version
    [PATCH 5/5] lib/lz4: Remove back-compat wrappers
    
    Changes:
    v8:
    - Rewrote the architecture-dependent definitions in lz4defs.h, such as LZ4_read*,
      LZ4_write* and LZ4_NbCommonBytes as proposed by Eric Biggers
    - Added -O3 compiler flag to Makefile, also suggested by Eric
    - Defined FORCE_INLINE, as used in upstream LZ4, as __always_inline and
      force-inlined most of the small functions in lz4defs.h
    - lz4_decompress: Wrapped the EXPORT_SYMBOL and MODULE_* macros in a
      #ifdef STATIC the way suggested by Andrew Morton, fixing the breakage
      of CONFIG_KERNEL_LZ4 in x86 as reported by Arnd Bergman
    
    v7:
    - Fixed errors reported by the Smatch tool
    - Changed function documentation comments in lz4.h to match kernel-doc style
    - Fixed a misbehaviour of LZ4HC caused by the wrong level of indentation
      concerning two for loops introduced after I refactored the code style using
      checkpatch.pl (upstream LZ4 put dozens of stuff in just one line, gnah)
    - Updated the crypto tests for LZ4 since they did fail for the new code
      and hence zram did fail to allocate memory for LZ4
    
    v6:
    - Fixed LZ4_NBCOMMONBYTES() for 64-bit little endian
    - Reset LZ4_MEMORY_USAGE to 14 (which is the value used in
      upstream LZ4 as well as the previous kernel module)
    - Fixed that weird double-indentation in lz4defs.h and lz4.h
    - Adjusted general styling issues in lz4defs.h
      (e.g. lines consisting of more than one instruction)
    - Removed the architecture-dependent typedef to reg_t
      since upstream LZ4 is just using size_t and that works fine
    - Changed error messages in pstore/platform.c:
      * LZ4_compress_default always returns 0 in case of an error
        (no need to print the return value)
      * LZ4_decompress_safe returns a negative error message
        (return value _does_ matter)
    
    v5:
    - Added a fifth patch to remove the back-compat wrappers introduced
      to ensure bisectibility between the patches (the functions are no longer
      needed since there's no callers left)
    
    v4:
    - Fixed kbuild errors
    - Re-added lz4_compressbound as alias for LZ4_compressBound
      to ensure backwards compatibility
    - Wrapped LZ4_hash5 with check for LZ4_ARCH64 since it is only used there
      and triggers an unused function warning when false
    
    v3:
    - Adjusted the code to satisfy kernel coding style (checkpatch.pl)
    - Made sure the changes to LZ4 in Kernel (overflow checks etc.)
      are included in the new module (they are)
    - Removed the second LZ4_compressBound function with related name but
      different return type
    - Corrected version number (was LZ4 1.7.3)
    - Added missing LZ4 streaming functions
    
    v2:
    - Changed order of the patches since in the initial patchset the lz4.h was in the
      last patch but was referenced by the other ones
    - Split lib/decompress_unlz4.c in an own patch
    - Fixed errors reported by the buildbot
    - Further refactorings
    - Added more appropriate copyright note to include/linux/lz4.h
    
    ^ permalink raw reply	[flat|nested] 84+ messages in thread

  • end of thread, other threads:[~2017-02-15 18:17 UTC | newest]
    
    Thread overview: 84+ messages (download: mbox.gz / follow: Atom feed)
    -- links below jump to the message on this page --
         [not found] <1482259992-16680-1-git-send-email-4sschmid@informatik.uni-hamburg.de>
         [not found] ` <1482259992-16680-2-git-send-email-4sschmid@informatik.uni-hamburg.de>
    2016-12-22 13:25   ` [PATCH 1/3] crypto: Change lz4 modules to work with new lz4 compressor module version Sergey Senozhatsky
    2017-01-07 16:55 ` [PATCH v2 0/4] Update LZ4 compressor module Sven Schmidt
    2017-01-07 16:55   ` [PATCH v2 1/4] lib: Update LZ4 compressor module based on LZ4 v1.7.2 Sven Schmidt
    2017-01-08 11:22     ` Greg KH
    2017-01-10  9:32       ` Sven Schmidt
    2017-01-10  9:59         ` Greg KH
    2017-01-08 11:25     ` Greg KH
    2017-01-08 11:33       ` Rui Salvaterra
    2017-01-10  9:21       ` Sven Schmidt
    2017-01-10 10:00         ` Greg KH
    2017-01-10 10:50           ` Willy Tarreau
    2017-01-07 16:55   ` [PATCH v2 2/4] lib/decompress_unlz4: Change module to work with new LZ4 module version Sven Schmidt
    2017-01-08 11:23     ` Greg KH
    2017-01-07 16:55   ` [PATCH v2 3/4] crypto: Change LZ4 modules " Sven Schmidt
    2017-01-07 16:55   ` [PATCH v2 4/4] fs/pstore: fs/squashfs: Change usage of LZ4 to comply " Sven Schmidt
    2017-01-07 21:33     ` Kees Cook
    2017-01-10  9:45       ` Sven Schmidt
    2017-01-21 15:09 ` [PATCH v3 0/4] Update LZ4 compressor module Sven Schmidt
    2017-01-21 15:09   ` [PATCH 1/4] lib: " Sven Schmidt
    2017-01-21 15:56     ` kbuild test robot
    2017-01-21 16:16     ` kbuild test robot
    2017-01-21 17:38     ` kbuild test robot
    2017-01-22 11:05     ` Greg KH
    2017-01-21 15:09   ` [PATCH 2/4] lib/decompress_unlz4: Change module to work with new LZ4 module version Sven Schmidt
    2017-01-21 15:09   ` [PATCH 3/4] crypto: Change LZ4 modules " Sven Schmidt
    2017-01-21 15:09   ` [PATCH 4/4] fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version Sven Schmidt
    2017-01-22 19:35 ` [PATCH v4 0/4] Update LZ4 compressor module Sven Schmidt
    2017-01-22 19:35   ` [PATCH v4 1/4] lib: " Sven Schmidt
    2017-01-24  0:23     ` Andrew Morton
    2017-01-24 16:48       ` Sven Schmidt
    2017-01-22 19:35   ` [PATCH v4 2/4] lib/decompress_unlz4: Change module to work with new LZ4 module version Sven Schmidt
    2017-01-22 19:35   ` [PATCH v4 3/4] crypto: Change LZ4 modules " Sven Schmidt
    2017-01-22 19:35   ` [PATCH v4 4/4] fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version Sven Schmidt
    2017-01-26  7:57 ` [PATCH v5 0/5] Update LZ4 compressor module Sven Schmidt
    2017-01-26  7:57   ` [PATCH v5 1/5] lib: " Sven Schmidt
    2017-01-26  7:57   ` [PATCH v5 2/5] lib/decompress_unlz4: Change module to work with new LZ4 module version Sven Schmidt
    2017-01-26  7:57   ` [PATCH v5 3/5] crypto: Change LZ4 modules " Sven Schmidt
    2017-01-26  7:57   ` [PATCH v5 4/5] fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version Sven Schmidt
    2017-01-26  7:57   ` [PATCH v5 5/5] lib/lz4: Remove back-compat wrappers Sven Schmidt
    2017-01-26  9:19   ` [PATCH v5 0/5] Update LZ4 compressor module Eric Biggers
    2017-01-26 14:15     ` Sven Schmidt
    2017-01-27 22:01 ` [PATCH v6 " Sven Schmidt
    2017-01-27 22:02   ` [PATCH v6 1/5] lib: " Sven Schmidt
    2017-01-31 22:27     ` Jonathan Corbet
    2017-02-01 20:18       ` Sven Schmidt
    2017-01-27 22:02   ` [PATCH v6 2/5] lib/decompress_unlz4: Change module to work with new LZ4 module version Sven Schmidt
    2017-01-27 22:02   ` [PATCH v6 3/5] crypto: Change LZ4 modules " Sven Schmidt
    2017-01-27 22:02   ` [PATCH v6 4/5] fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version Sven Schmidt
    2017-01-27 22:02   ` [PATCH v6 5/5] lib/lz4: Remove back-compat wrappers Sven Schmidt
    2017-02-05 19:09 ` [PATCH v7 0/5] Update LZ4 compressor module Sven Schmidt
    2017-02-05 19:09   ` [PATCH v7 1/5] lib: " Sven Schmidt
    2017-02-05 19:09   ` [PATCH v7 2/5] lib/decompress_unlz4: Change module to work with new LZ4 module version Sven Schmidt
    2017-02-05 19:09   ` [PATCH v7 3/5] crypto: Change LZ4 modules " Sven Schmidt
    2017-02-05 19:09   ` [PATCH v7 4/5] fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version Sven Schmidt
    2017-02-05 19:09   ` [PATCH v7 5/5] lib/lz4: Remove back-compat wrappers Sven Schmidt
    2017-02-08 23:31   ` [PATCH v7 0/5] Update LZ4 compressor module Minchan Kim
    2017-02-09  0:24     ` Eric Biggers
    2017-02-09  5:24       ` Eric Biggers
    2017-02-09 11:05         ` Sven Schmidt
    2017-02-09 18:20           ` Eric Biggers
    2017-02-10  0:14         ` Minchan Kim
    2017-02-09 11:02       ` Sven Schmidt
    2017-02-09 18:29         ` Eric Biggers
    2017-02-10  3:57           ` David Miller
    2017-02-09 10:56     ` Sven Schmidt
    2017-02-10  0:13       ` Minchan Kim
    2017-02-12 11:16         ` Sven Schmidt
    2017-02-12 11:16           ` [PATCH] lz4: fix performance regressions Sven Schmidt
    2017-02-12 13:05             ` Willy Tarreau
    2017-02-12 15:20               ` Sven Schmidt
    2017-02-12 21:41                 ` Willy Tarreau
    2017-02-13 11:53                   ` Sven Schmidt
    2017-02-13 13:37                     ` Willy Tarreau
    2017-02-12 23:38             ` Eric Biggers
    2017-02-14 10:33               ` Sven Schmidt
    2017-02-13  0:03           ` [PATCH v7 0/5] Update LZ4 compressor module Minchan Kim
    2017-02-13 12:08             ` Sven Schmidt
    2017-02-15  7:29               ` Minchan Kim
    2017-02-15 18:16 ` [PATCH v8 " Sven Schmidt
    2017-02-15 18:16   ` [PATCH v8 1/5] lib: " Sven Schmidt
    2017-02-15 18:16   ` [PATCH v8 2/5] lib/decompress_unlz4: Change module to work with new LZ4 module version Sven Schmidt
    2017-02-15 18:16   ` [PATCH v8 3/5] crypto: Change LZ4 modules " Sven Schmidt
    2017-02-15 18:16   ` [PATCH v8 4/5] fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version Sven Schmidt
    2017-02-15 18:16   ` [PATCH v8 5/5] lib/lz4: Remove back-compat wrappers Sven Schmidt
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox;
    as well as URLs for NNTP newsgroup(s).