[RFC] makedumpfile, crash: LZO compression support
Atsushi Kumagai
kumagai-atsushi at mxc.nes.nec.co.jp
Thu Nov 17 22:14:58 EST 2011
Hello Hatayama-san,
Thank you for your work.
> Performance Comparison:
>
> Sample Data
>
> Ideally, I must have measured the performance for many enough
> vmcores generated from machines that was actually running, but now
> I don't have enough sample vmcores, I couldn't do so. So this
> comparison doesn't answer question on I/O time improvement. This
> is TODO for now.
I'll measure the performance for actual vmcores by makedumpfile.
Please wait for a while.
Thanks.
KUMAGAI, Atsushi
>
> Instead, I choosed worst and best cases regarding compression
> ratio and speed only. Specifically, the former is /dev/urandom and
> the latter is /dev/zero.
>
> I get the sample data of 10MB, 100MB and 1GB by doing like this:
>
> $ dd bs=4096 count=$((1024*1024*1024/4096)) if=/dev/urandom of=urandom.1GB
>
> How to measure
>
> Then I performed compression for each block, 4096 bytes, and
> measured total compression time and output size. See attached
> mycompress.c.
>
> Result
>
> See attached file result.txt.
>
> Discussion
>
> For both kinds of data, lzo's compression was considerably quicker
> than zlib's. Compression ratio is about 37% for urandom data, and
> about 8.5% for zero data. Actual situation of physical memory
> would be in between the two cases, and so I guess average
> compression time ratio is between 37% and 8.5%.
>
> Although beyond the topic of this patch set, we can estimate worst
> compression time on more data size since compression is performed
> block size wise and the compression time increases
> linearly. Estimated worst time on 2TB memory is about 15 hours for
> lzo and about 40 hours for zlib. In this case, compressed data
> size is larger than the original, so they are really not used,
> compression time is fully meaningless. I think compression must be
> done in parallel, and I'll post such patch later.
>
> Diffstat
>
> * makedumpfile
>
> diskdump_mod.h | 3 +-
> makedumpfile.c | 98 +++++++++++++++++++++++++++++++++++++++++++++++++------
> makedumpfile.h | 12 +++++++
> 3 files changed, 101 insertions(+), 12 deletions(-)
>
> * crash
>
> defs.h | 1 +
> diskdump.c | 20 +++++++++++++++++++-
> diskdump.h | 3 ++-
> 3 files changed, 22 insertions(+), 2 deletions(-)
>
> TODO
>
> * evaluation including I/O time using actual vmcores
>
> Thanks.
> HATAYAMA, Daisuke
More information about the kexec
mailing list