[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#549681: mkvmlinuz: use xz to compress vmlinuz-boxed initrd



On 07/02/2012 07:07 AM, Touko Korpela wrote:
> On Sun, Jul 01, 2012 at 11:03:02AM -0400, Milan Kupcevic wrote:
>> On 07/01/2012 07:05 AM, Touko Korpela wrote:
>>>> ...
>>>> +if test "$post_2_6_38"; then
>>>> +  XZ="xz --check=crc32 -8"
>>>> +else
>>>> +  XZ=false
>>>> +fi
>>>
>>> From xz(1) manual page (you can ignore DecMem):
>>>                      Preset   DictSize   CompCPU   CompMem   DecMem
>>>                        -0     256 KiB       0        3 MiB    1 MiB
>>>                        -1       1 MiB       1        9 MiB    2 MiB
>>>                        -2       2 MiB       2       17 MiB    3 MiB
>>>                        -3       4 MiB       3       32 MiB    5 MiB
>>>                        -4       4 MiB       4       48 MiB    5 MiB
>>>                        -5       8 MiB       5       94 MiB    9 MiB
>>>                        -6       8 MiB       6       94 MiB    9 MiB
>>>                        -7      16 MiB       6      186 MiB   17 MiB
>>>                        -8      32 MiB       6      370 MiB   33 MiB
>>>                        -9      64 MiB       6      674 MiB   65 MiB
>>>
>>> Better to use default setting "-6" that has lower memory requirement.
>>>
>>
>> Here is timing for re-compression from gzip to xz on Pegasos II with
>> Freescale 7447 1GhZ processor and 1Gb RAM:
> 
> Use of -8 option isn't a good thing for systems having only 512 Mib or less
> memory. This operation shouldn't force to use slow swap space or OOM.
> 
>>
>> set   time         compressed size
>> -9    1m43.962s    9.5MB
>> -8    1m44.824s    9.5MB
>> -6    1m35.097s    9.6MB
>> -3    1m10.080s    10.6MB
>> -2    0m45.609s    10.7MB
>> -0    0m19.286s    11.1MB
>>
>> I've originally decided to go with -8, mainly because the same preset is
>> used in mkinitramfs form initramfs-tools package. It may be worth
>> hearing arguments about the timing given that all presets currently
>> produce vmlinuz smaller than the 12MB limit, but the compression time is
>> very different.
> 
> Your size numbers show that -8 produces only marginally smaller images.
> If mkinitramfs (initramfs-tools) uses -8 for xz compression, it should be
> changed too.
> 

You are right. I just did two more runs with -4 and -5:

set   time         compressed size
-5    1m28.009s    9.6MB
-4    1m12.628s    9.8MB

Compression time goes up while compression gain gets insignificant with
presets larger than -4.

It is probably best to go with -4. It is time efficient and needs only
48 MiB for compression. Installer will be able to finish on EFIKA 5200B
boards with 128MB built-in memory.

Milan




Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: