Messages in this thread | | | Date | Wed, 7 Aug 2013 15:22:45 -0700 | Subject | Re: [PATCH 00/11] Add compression support to pstore | From | Tony Luck <> |
| |
On Tue, Aug 6, 2013 at 10:35 PM, Tony Luck <tony.luck@gmail.com> wrote: > ERST is at the whim of the BIOS writer (the ACPI standard doesn't provide any > suggestions on record sizes). My systems support ~6K record size.
Off by a little - 7896 bytes on my current machine.
> efivars has, IIRC, a 1k limit coded in the Linux back end. My memory was correct for this one.
Adding a little tracing to pstore_getrecords() I see this:
pstore: inflated 3880 bytes compressed to 17459 bytes pstore: inflated 2567 bytes compressed to 17531 bytes pstore: inflated 4018 bytes compressed to 17488 bytes
Which isn't at all what I expected. The ERST backend advertised a bufsize of 7896, and I have the default kmsg_bytes of 10240. So on my forced panic the code decided to create a three part pstore dump. The sum of the pieces is close to, but a little over the target of 10K. But I don't understand why the compressed sizes are so much smaller that the ERST backend block size.
The uncompressed sizes appear to be close to constant. The compression ratios vary from 14% to 23%
Why do we get three small parts instead of two bigger ones close the the 7896 ERST bufsize?
-Tony
| |