• Richard Purdie's avatar
    [PATCH] zlib_inflate: Upgrade library code to a recent version · 4f3865fb
    Richard Purdie authored
    Upgrade the zlib_inflate implementation in the kernel from a patched
    version 1.1.3/4 to a patched 1.2.3.
    
    The code in the kernel is about seven years old and I noticed that the
    external zlib library's inflate performance was significantly faster (~50%)
    than the code in the kernel on ARM (and faster again on x86_32).
    
    For comparison the newer deflate code is 20% slower on ARM and 50% slower
    on x86_32 but gives an approx 1% compression ratio improvement.  I don't
    consider this to be an improvement for kernel use so have no plans to
    change the zlib_deflate code.
    
    Various changes have been made to the zlib code in the kernel, the most
    significant being the extra functions/flush option used by ppp_deflate.
    This update reimplements the features PPP needs to ensure it continues to
    work.
    
    This code has been tested on ARM under both JFFS2 (with zlib compression
    enabled) and ppp_deflate and on x86_32.  JFFS2 sees an approx.  10% real
    world file read speed improvement.
    
    This patch also removes ZLIB_VERSION as it no longer has a correct value.
    We don't need version checks anyway as the kernel's module handling will
    take care of that for us.  This removal is also more in keeping with the
    zlib author's wishes (http://www.zlib.net/zlib_faq.html#faq24) and I've
    added something to the zlib.h header to note its a modified version.
    Signed-off-by: default avatarRichard Purdie <rpurdie@rpsys.net>
    Acked-by: default avatarJoern Engel <joern@wh.fh-wedel.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    4f3865fb
inftrees.c 13.4 KB