• Jim Keniston's avatar
    zlib: slim down zlib_deflate() workspace when possible · 565d76cb
    Jim Keniston authored
    Instead of always creating a huge (268K) deflate_workspace with the
    maximum compression parameters (windowBits=15, memLevel=8), allow the
    caller to obtain a smaller workspace by specifying smaller parameter
    values.
    
    For example, when capturing oops and panic reports to a medium with
    limited capacity, such as NVRAM, compression may be the only way to
    capture the whole report.  In this case, a small workspace (24K works
    fine) is a win, whether you allocate the workspace when you need it (i.e.,
    during an oops or panic) or at boot time.
    
    I've verified that this patch works with all accepted values of windowBits
    (positive and negative), memLevel, and compression level.
    Signed-off-by: default avatarJim Keniston <jkenisto@us.ibm.com>
    Cc: Herbert Xu <herbert@gondor.apana.org.au>
    Cc: David Miller <davem@davemloft.net>
    Cc: Chris Mason <chris.mason@oracle.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    565d76cb
zlib.c 10.4 KB