• Sergey Senozhatsky's avatar
    zram: add lz4 algorithm backend · 6e76668e
    Sergey Senozhatsky authored
    Introduce LZ4 compression backend and make it available for selection.
    LZ4 support is optional and requires user to set ZRAM_LZ4_COMPRESS config
    option.  The default compression backend is LZO.
    
    TEST
    
    (x86_64, core i5, 2 cores + 2 hyperthreading, zram disk size 1G,
    ext4 file system, 3 compression streams)
    
    iozone -t 3 -R -r 16K -s 60M -I +Z
    
           Test           LZO           LZ4
    ----------------------------------------------
      Initial write   1642744.62    1317005.09
            Rewrite   2498980.88    1800645.16
               Read   3957026.38    5877043.75
            Re-read   3950997.38    5861847.00
       Reverse Read   2937114.56    5047384.00
        Stride read   2948163.19    4929587.38
        Random read   3292692.69    4880793.62
     Mixed workload   1545602.62    3502940.38
       Random write   2448039.75    1758786.25
             Pwrite   1670051.03    1338329.69
              Pread   2530682.00    5097177.62
             Fwrite   3232085.62    3275942.56
              Fread   6306880.25    6645271.12
    
    So on my system LZ4 is slower in write-only tests, while it performs
    better in read-only and mixed (reads + writes) tests.
    
    Official LZ4 benchmarks available here http://code.google.com/p/lz4/
    (linux kernel uses revision r90).
    Signed-off-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
    Acked-by: default avatarMinchan Kim <minchan@kernel.org>
    Cc: Jerome Marchand <jmarchan@redhat.com>
    Cc: Nitin Gupta <ngupta@vflare.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    6e76668e
Kconfig 1012 Bytes