]> git.baikalelectronics.ru Git - kernel.git/commit
zlib: slim down zlib_deflate() workspace when possible
authorJim Keniston <jkenisto@linux.vnet.ibm.com>
Tue, 22 Mar 2011 23:35:12 +0000 (16:35 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 Mar 2011 00:44:17 +0000 (17:44 -0700)
commit34235c2a370e7ab6fcdbe7336c2f9973def9d6f5
treebeff4279da00976e10145820c22e699192056973
parentd1fc9dc382ae7dffd07a86834e49a6a331ea3bde
zlib: slim down zlib_deflate() workspace when possible

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: Jim 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: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
crypto/deflate.c
crypto/zlib.c
drivers/net/ppp_deflate.c
fs/btrfs/zlib.c
fs/jffs2/compr_zlib.c
fs/logfs/compr.c
include/linux/zlib.h
lib/zlib_deflate/deflate.c
lib/zlib_deflate/defutil.h