----- Original Message -----
This patch series add snappy compression support for crash utility,
applied on top of v6.0.8.
snappy is fast compressoin algorhythm like lzo, but it's more
optimized than lzo on x86 machines and some other archs.
A lot of benchmark is available on the web. Here I only point at my
benchmark I posted a few weeks ago,
-
http://lists.infradead.org/pipermail/kexec/2012-June/006425.html
where snappy shows mostly as good performance as simple copying on
the worst case that input data increases its data size during
compression; this means we can use snappy with mostly NO risk.
How to get snappy libraries:
1) Use yum framework to get snappy and snappy-devel packages, or
2) Visit official website:
http://code.google.com/p/snappy/,
download snappy-<version>.tar.gz and then build it.
How to build crash utility with snappy support:
1) Put -DSNAPPY in CFLAGS.extra file and put -lsnappy in LDFRAGS.extra file.
2) Do make as always.
The patch is certainly safe enough to accept for crash-6.0.9.
I tried to do a compile-test, but after doing a "yum install snappy" on
a RHEL5 machine, where it grabbed the package from an EPEL repository
since it's not a supported RHEL5 (or RHEL6) package, I see the i386 and
x86_64 packages:
$ rpm -qa | grep snappy
snappy-1.0.5-1.el5
snappy-1.0.5-1.el5
$
And its libraries:
$ ls /usr/lib64/*snappy* /usr/lib/*snappy*
/usr/lib64/libsnappy.so.1@ /usr/lib64/libsnappy.so.1.1.3* /usr/lib/libsnappy.so.1@
/usr/lib/libsnappy.so.1.1.3*
$
But for whatever reason, there's no /usr/include/snappy-c.h file:
$ find /usr/include -name "snappy*"
$
And so the build fails:
$ make
TARGET: X86_64
CRASH: 6.0.9rc2
GDB: 7.3.1
cc -c -g -DX86_64 -DSNAPPY -DGDB_7_3_1 build_data.c -Wall -O2 -Wstrict-prototypes
-Wmissing-prototypes -fstack-protector
cc -c -g -DX86_64 -DSNAPPY -DGDB_7_3_1 main.c -Wall -O2 -Wstrict-prototypes
-Wmissing-prototypes -fstack-protector
In file included from main.c:18:
defs.h:55:22: error: snappy-c.h: No such file or directory
make[3]: *** [main.o] Error 1
make[2]: *** [gdb] Error 2
make[1]: *** [gdb_merge] Error 2
make: *** [all] Error 2
$
Although I do see the header file in the upstream snappy-1.0.5.tar.gz package.
Anyway, the patch is queued for crash-6.0.9.
Thanks,
Dave